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'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)