c语言问题,输出两次。。

2025-12-25 11:30:28
推荐回答(1个)
回答1:

#include"stdio.h"
void
main()
{
char
max;
scanf("%c",&max);
while(max!='Y')
{
printf("abc\n");//第一次显示ABC是因为循环外的SCANF输入影响,第2次显示ABC才是因为循环内SCANF输scanf("%c",&max);//入影响,这是局部变量作用域的问题。
}
}
这样修改:可以看出原因
#include"stdio.h"
void
main()
{
char
max;
printf("abc%c\n",max);
scanf("%c",&max);
while(max!='Y')
{
printf("abc%c\n",max);
scanf("%c",&max);
}
}