【发布时间】:2014-10-28 12:21:52
【问题描述】:
我正在尝试在输入时按回车键的位置,它将继续执行代码的下一部分 例如:
int first
int second
int answer
printf("Enter first number\n");
scanf("%d", &first);
printf("Enter second number\n");
scanf("%d", &second);
first + second = answer
printf("%d", answer);
return 0
这只是一个例子,但我的代码是这样的:
#include <stdio.h>
int main()
{
int pennies;
int dollars;
printf("How many pennies are in __ dollars?\n");
scanf("%d", &dollars);
pennies = dollars*100;
printf("There are %d pennies\n", pennies);
return 0;
}
当我在终端上运行它时,它会问“__ 美元有多少便士?”就像它应该的那样。
问题是当我输入 7 时,它只会跳过一行并一直持续下去。我想得到 当我按下回车键时,它将乘以 7 * 100 并输出“有 700 便士”。请 帮助。
(对于那些早先看到这个的人,我忘了删除 scant("%d%*c", dollar); 只是有 scanf("%d", dollar); 那个解决方案也不起作用)
【问题讨论】:
-
ideone.com/fDWRjg 有趣的是,您的代码在 ideone 上运行良好。但 Ed 的解决方案也有效。
-
没有办法“永远持续下去”,而是退出程序。但是,要打印出所有内容,请在每个 printf() 之后使用 fflush(stdout);顺便说一句:当前代码在我的 linux 系统上运行良好。
-
1) 解释“永远继续” 2)
"%d%*c"与"%d"不会对您的代码产生影响。 3)scanf("%d", &dollars)的返回值是多少?它应该是 1。