[英]Doesn't exit the 'while' loop
我開始自學c,今天我學會了如何使用和創建函數。 我做了一個計算器來練習我學到的東西,所以我知道這可能不是構建一個最有效的方法。 問題是即使變量的值發生了變化,腳本也不會退出 while 循環。 如果你們能看一看並向我解釋問題,我會很高興。謝謝!
//The function for answer
char answer() {
char anss=0;
printf("Do you want to continue?\n");
scanf(" %c",&anss);
return anss;
}
//the while loop
char ans='y';
while (ans=='y') {
.
.
.
char ans=answer();
}
我什至嘗試在使用該函數后立即打印 'ans' 的值,我看到它發生了變化,但它仍然沒有退出 while 循環。
問題出在這一行:
char ans=answer();
您正在while
循環內創建一個名為ans
的新變量。 此變量在更高范圍內屏蔽了同名的變量,因此無法通過該名稱訪問並且不會更改。
你想要:
ans=answer();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.