gpt4 book ai didi

C:循环内的 scanf()

转载 作者:行者123 更新时间:2023-11-30 21:13:16 24 4
gpt4 key购买 nike

这个程序似乎并不在 while 循环的每次迭代中接受输入,理想情况下它应该接受。但是,当我用 %d 替换 scanf() 函数的 %c 参数时(即整数输入而不是char 输入)似乎工作得非常好,while 循环的每次迭代都接受该输入。为什么我会看到这种差异?

int main()
{
char grade;
int i=0;

while(i<10){
printf("Enter ur grade\n");
scanf("%c", &grade);
switch(grade){
case 'A' : printf("U R THE BEST\n");
break;
case 'B' : printf("U R VERY GOOD DUDE...\n");
break;
case 'C' : printf("U R GOOD DUDE...\n");
break;
case 'D' : printf("U R Not good DUDE...\n");
break;
case 'E' : printf("U R WORST DUDE...\n");
break;
default : printf("U r AWESOME...\n");
break;
}
i++;
}

最佳答案

试试这个:在 %c 之前加一个空格,因为它也存储 \n

 scanf(" %c", &grade);

关于C:循环内的 scanf(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26145634/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com