为什么最后一个 printf() 不打印?

Why is the last printf() not printing?

我试图创建一些用户必须给出特定数字的东西,最后程序打印出所有数字,中间有一个 space。 一切正常,除了最后一个 printf()。我试过 fflush 像以前的 scanf() 一样进出,但没有任何效果。

有什么建议吗?这是代码:

printf("Give a round number:\n");
fflush(stdout);
scanf("%d", &roundNumber);
fflush(stdin);

printf("Give a decimal number:\n");
fflush(stdout);
scanf("%lf", &decimalNumber);
fflush(stdin);

printf("Give 2 round numbers separated by a ',' :\n");
fflush(stdout);
scanf("%d,%d",firstRoundNumber,secondRoundNumber);
fflush(stdin);

printf("Your numbers: %d %lf %d %d\n", roundNumber, decimalNumber, firstRoundNumber, secondRoundNumber);

你写了

scanf("%d,%d",firstRoundNumber,secondRoundNumber);

您忘记为最后一次 scanf 使用变量地址:

scanf("%d,%d", &firstRoundNumber, &secondRoundNumber);