gpt4 book ai didi

c - 为什么当只使用一种格式说明符时数组显示垃圾值?

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

我正在尝试用 C 语言打印数组的值。我仅对数组的一个值使用 3 个格式说明符,我的问题是我不明白其他两个值是如何出现在我的输出中的。

这是我的代码:

int arr[6] = {3,4,42,2,77,8};

printf("%d %d %d ",arr[2]);

output :
42 3 4

最佳答案

根据C标准

If there are insufficient arguments for the format, the behavior is undefined.

在你的 printf 调用中

printf("%d %d %d ",arr[2]);

在第一个格式规范之后,参数就用尽了。因此函数调用具有未定义的行为,并且输出可能包含任何垃圾。

你应该写

printf( "%d ", arr[2] );

或者例如

printf( "%d %d %d ", arr[2], arr[3], arr[4] );

关于c - 为什么当只使用一种格式说明符时数组显示垃圾值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27323598/

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