亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果想要利用c++撤銷變量,請問該怎么操作呢?

如果想要利用c++撤銷變量,請問該怎么操作呢?

偶然的你 2021-08-13 15:11:49
c++primer中goto語句一章 begin: ......... int sz=get_size(); if(sz<=0){goto begin;} 講到向前跳轉時,要撤銷變量sz,請問如何撤銷。
查看完整描述

2 回答

?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

撤銷的工作不是你完成的,而是系統自動撤銷的。

而且你的說法有誤。
向后跳躍(即往上跳),向前跳躍(即往下跳)

向前跳躍會可能跳過變量定義,而造成使用錯誤。
向后跳躍則不會出現這種問題,原因就是其中提到的會撤銷變量,并在遇到其定義時重新定義它。

// 寫一個例子你參考下:
// 程序是死循環,在調試模式下自己一步步運行分析,注釋已說明結果
#include <stdio.h>
int main()
{
label1:
goto begin; // 跳到標簽label2時候,y定義被跳過,下面的y+=10會出錯
int y = 0;

label2:
int x = 10;
printf("x=%d", x);

x+=10;
y += 10; // 由于跳過定義,使用出錯
printf("\ny=%d", y);

// 跳回到label1的時候會撤銷x,y(這里y使用出錯這里我們不考慮它),
// 再次遇到int x的時候就會重新定義
goto label1;
return 0;
}



查看完整回答
反對 回復 2021-08-23
  • 2 回答
  • 0 關注
  • 347 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號