gpt4 book ai didi

c - C 中有 2 个输入(char 和 int)时如何停止 while 循环

转载 作者:行者123 更新时间:2023-11-30 19:50:39 25 4
gpt4 key购买 nike

znak = 字符
x = 数字!!

如果输入是“-”停止,如果我运行这个程序,它总是要求我再输入 1 个数字。

int X,i, sumaS=0,sumaD=0;
char znak;

printf("Char and number input:\n");




while (znak !='-'){
scanf(" %c", &znak);
scanf(" %d", &X);

if (znak=='S'){
sumaS +=X;
}
else{
sumaD+=X;
}
}

测试用例:

S 7

D 5

S2

S2

D 3

D 7

-

最佳答案

一开始将 znak 初始化为零怎么样? (有时这样可以更好地避免问题。尝试在 scanf() 中使用它而不使用空格。使用 scanf("%c", &znack) 而不是 scanf("%c", &znack)。(不要忘记使用 fflush(stdin) 在两次迭代之间清理输入缓冲区,以避免在 znack 中获取\n)

关于c - C 中有 2 个输入(char 和 int)时如何停止 while 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58673933/

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