关于C语言字符数组的赋值最后自动添加‘’问题

关于C语言字符数组的赋值最后自动添加‘’问题,第1张

#include<stdio.h>

void main()

{

char c[6]={"hello"}

printf("%s\n",c)

c[0]='A' // 仅对第一位元素赋值,它并不影响其后面的字符

    printf("%s\n",c)

c[1]='B'  // 同理

    printf("%s\n",c)

}

系统自动加'\0'是字符串结束符,看不见的,虽然写的是5但是从0-4 。

而str1[5]={"china"}只是初始化一个值,还有剩下的四个是系统默认的值,

你给出的是五个字符组成的一个字符串,算一个。

此五非彼五!

基础很重要,还望多看看书,真正理解定义

呵呵,要看你代码实际怎么写的。例如:

char a[] = "success!" //这句后面就有'\0'

char a[] = {'s','u','c','c','e','s','s','!'}//这句后面就不会有'\0'


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11905679.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存