gpt4 book ai didi

c - 字符串大小等于字符数

转载 作者:行者123 更新时间:2023-12-02 08:38:13 25 4
gpt4 key购买 nike

我正在制作一个基本的字符串程序并这样做了。这样就有一个字符串:

#include<stdio.h>
int main()
{
char str[7]="network";
printf("%s",str);
return 0;
}

它打印network。在我看来,它不应该打印network。应该打印一些垃圾值,因为 '\0' 没有结束这个字符数组。那么它是如何打印出来的呢?也没有警告或错误。

最佳答案

那是因为

char str[7]="network";

相同
char str[7]={'n','e','t','w','o','r','k'};

str 是一个有效的 char 数组,但不是字符串,因为它不是以 null 结尾的。所以使用 %s 打印它是未定义的行为。

引用:C FAQ: Is char a[3] = "abc"; legal? What does it mean?

关于c - 字符串大小等于字符数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19155010/

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