簡體   English   中英

不退出“while”循環

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM