gpt4 book ai didi

c - c 编程中的字符串在输出末尾具有垃圾值

转载 作者:太空宇宙 更新时间:2023-11-04 06:54:11 24 4
gpt4 key购买 nike

#include<stdio.h>
void main()
{ char str[3]="ram";
printf("%s",str);
}

输出:ram(垃圾值)str 的大小为 3,其值的大小为 3。我希望 ra 作为我对 null 值的回答将在 end 处。但是我得到了 ram(垃圾值)。请有人帮我解决我的问题。

最佳答案

在 C 中,字符串是一个以空字符结尾的字符数组。但是在您的情况下,字符数组只有 3 个元素,因此尽管您将 "ram" 分配给 char str[3],但只有 'r''a''m' 已分配,'\0' 未分配。因此,printf 无法判断字符串在哪里结束并继续打印垃圾值。

关于c - c 编程中的字符串在输出末尾具有垃圾值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47118825/

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