看看 字符串数组 变成什么了?

小小爱好者 2007-02-04 09:13:03
char word[] ={ 'h','e','l','l','o','!','\0' };

char word[] ={ 'h','e','l','l','o','!' };

里面的'\0'代表什么 加'\0'和不加'\0'有什么区别??
...全文
376 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
user_csc 2007-02-05
  • 打赏
  • 举报
回复
char word1[] ={ 'h','e','l','l','o','!','\0','u' };
char word2[] ={ 'h','e','l','l','o','!','u' };

同样!!!这两个有什么不同~~~~sizeof,strlen两个函数你就知道有什么作用了~~
user_csc 2007-02-05
  • 打赏
  • 举报
回复
看你程序中需要怎么用~

简单的说\0是结束符,sizeof,strlen两个函数你就知道有什么作用了~~
discory 2007-02-05
  • 打赏
  • 举报
回复
\0不是结束了吗,还能作为一个字符输出吗
blh 2007-02-04
  • 打赏
  • 举报
回复
char word[] ={ 'h','e','l','l','o','!','\0' }; 他可以作为含有7个元素的char数组或者可以作为一个字符串(以\0结束的字符数组)使用
char word[] ={ 'h','e','l','l','o','!' }; 是只是含有6个元素的char数组
kimiya25 2007-02-04
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[])
{
int i;
char word1[]={'h','e','l','l','o','!','\0'};
char word2[]={'h','e','l','l','o','!'};
printf("%s\n",word1);
printf("%s",word2);
system("pause");
return 0;
}

你可以先尝试打印出这两段不同的字符串观察一番结果...
比如存储在在数组里的结果.... word1[]数组
|h|e|l|l|o|!|\0|
\0标志了字符串的结束.
printf函数中的格式%s规定, 输入参数必须由'\0'做为结束. .'\0'就是用来标记字符串的结束.

小小爱好者 2007-02-04
  • 打赏
  • 举报
回复
"\0"可以获得 处字符数组以外的数组长度吗?
小小爱好者 2007-02-04
  • 打赏
  • 举报
回复
并不是很明白 我是初学 请CSDN的朋友详细的给我解释一下好吗?麻烦了!
kimiya25 2007-02-04
  • 打赏
  • 举报
回复
'\0' 表示字符串的结束 它并不是文本在输出时的一部分.
有了'\0' 可以进行比较, 插入删除字符等.
比如获得字符串的长度...
int strlen(char *c){
int n;
for (n=0;*c!='\0';c++)
n++;
return n;
}

33,317

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧