【发布时间】:2011-04-14 06:32:45
【问题描述】:
如果我尝试以下操作:
int anint;
char achar;
printf("\nEnter any integer:");
scanf("%d", &anint);
printf("\nEnter any character:");
scanf("%c", &achar);
printf("\nHello\n");
printf("\nThe integer entered is %d\n", anint);
printf("\nThe char entered is %c\n", achar);
它允许输入一个整数,然后完全跳过第二个scanf,这真的很奇怪,因为当我交换两者时(首先是char scanf),它工作正常。这到底是怎么回事?
【问题讨论】:
-
您的指针大小错误,anint 是 char,achar 是 int。不要这样做。
-
@Variable Length Coder:我很抱歉,这是在解释一个更简单的例子,并将两者混为一谈。该错误类型与我的问题无关,已修复示例。