我开始自己学习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循环。
答案 0 :(得分:3)
问题出在这条线上:
char ans=answer();
您正在ans
循环内创建一个名为while
的新变量。此变量会在较高范围内屏蔽具有相同名称的变量,因此无法通过该名称访问,并且不会更改。
您反而想要:
ans=answer();