#include <stdio.h>
int units = 0;
void critic(void);
int main()
{
extern int units;
printf("How many pounds to a firkin of butter ? \n");
scanf_s("%d",&units);
while (units != 56)
critic();
printf("You must have looked it up!\n");
return 0;
}
void critic(void)
{
printf("No Luck, my friend.Try again!\n");
scanf_s(" %d ", &units);
}
我编程后形成的答案是这个:请问如何解决这个问题?
函数里scanf的%d左右多了空格,输入的时候要输入空格才是正确格式,把这两头的空格删了就行了
如果对你有帮助,还请点个采纳,万分感谢!
代码修改后如下
#include <stdio.h>
int units = 0;
void critic(void);
int main()
{
extern int units;
printf("How many pounds to a firkin of butter ? \n");
scanf_s("%d", &units, 1);
while (units != 56)
critic();
printf("You must have looked it up!\n");
return 0;
}
void critic(void)
{
printf("No Luck, my friend.Try again!\n");
scanf_s("%d", &units, 1);//删去了%d两侧的空格
}
有帮助望采纳~