gpt4 book ai didi

c - 为什么 scanf 占用的空间比我给的空间多?

转载 作者:行者123 更新时间:2023-11-30 21:15:15 25 4
gpt4 key购买 nike

为什么 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;
}

that what I get

最佳答案

首先,您应该始终检查 scanf 内容返回

其次,如果您阅读之前链接的引用资料,您将看到 "%d" 格式跳过前导空格。

第三,通过在 scanf 格式中添加尾随空格,您可以告诉 scanf 跳过尾随 空格。当它这样做时,它需要读取一些不是空格的内容,否则它不会知道空格何时结束。

我猜想第三个​​问题是您真正要问的问题。

关于c - 为什么 scanf 占用的空间比我给的空间多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49173555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com