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;
    }
}


测试用例:

7号

5天

2号

2号

3天

第7天

--

最佳答案

开始时如何将znak初始化为零? (最好避免出现问题。
尝试使用scanf()以使其不带空格。
使用scanf(“%c”,&znack)代替scanf(“%c”,&znack)。
(不要在两次迭代之间使用fflush(stdin)清理输入缓冲区,以避免在znack中获得\ n)

09-08 05:07