这两种写法在实现上是相同的,都是将字符串 "china" 复制到字符数组 c 中。但是它们的初始化方式不同。

  1. char c[10] = {"china"}; 这种写法将字符串 "china" 拷贝到字符数组 c 中,并且在拷贝后的字符数组末尾会自动添加一个空字符 '\0'。这样字符数组 c 的长度为 10,包括了 "china" 的 5 个字符和一个结尾的空字符,剩余的 4 个字符被初始化为 '\0'。

  2. char c[10] = "china"; 这种写法同样将字符串 "china" 拷贝到字符数组 c 中,并且在拷贝后的字符数组末尾也会自动添加一个空字符 '\0'。同样,字符数组 c 的长度为 10,包括了 "china" 的 5 个字符和一个结尾的空字符,剩余的 4 个字符被初始化为 '\0'。

所以两种写法在实现上没有区别,都会得到相同的结果。

在C语言中char c 10 = china;与 char c10 = china;的区别

原文地址: https://www.cveoy.top/t/topic/hPDe 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录