为什么scanf需要额外的尺寸?比如出现了问题:
int main() {
printf("enter the first distance:\n");
printf("Feet: ");
scanf("%d\n", &d1.feet);
printf("Inch:");
scanf("%d\n", &d2.inch);
printf("enter the second distance:\n");
printf("Feet: ");
scanf("%d\n", &d2.feet);
printf("inch: ");
scanf("%d\n", &d2.inch);
sum.feet = d1.feet + d2.feet;
sum.inch = d1.inch + d2.inch;
printf("sum of distance: %d, %d", sum.feet, sum.inch);
return 0;
}
答案 0 :(得分:5)
首先,您应该始终查看scanf
返回的内容。
其次,如果您阅读之前链接的参考文献,您会看到"%d"
格式跳过领先的空白区域。
第三,通过使用scanf
格式的尾随空格,您告诉scanf
跳过尾随空格。当它这样做时,它需要读取的内容不是一个空格,或者它不会知道空格何时结束。
我猜测第三个问题是你真正要问的问题。