c语言 char类型 str[10]="\0"是对的,那str[10]=0对吗?为什么?

'\0',NULL都可以换成是0,那上面的呢,也就是说变为空串,回答详细点哦?... '\0',NULL都可以换成是0,那上面的呢,也就是说变为空串,回答详细点哦? 展开
 我来答
金色潜鸟
推荐于2018-03-14 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5730万
展开全部
char str[10]; 是数组,初始化需要用花括号。
char str[10]=0; 不对。 初始化需要用花括号。
char str[10]='\0'; 不对。 给了字符常量。 初始化需要用花括号
char str[10]=NULL; 不对。初始化需要用花括号。
char str[10]={0}; 对,初始化用了花括号。

char str[10]="\0"; 对, 初始化用 字符串

char *str=NULL; 对,不是数组,是指针,初始化为空指针。
yuantailing
2013-08-22 · TA获得超过2545个赞
知道小有建树答主
回答量:1167
采纳率:92%
帮助的人:662万
展开全部
可以用一个字符串来初始化字符数组,不能用一个字符/数值来初始化字符数组。
'\0'是字符,可以换成0,它和数值是同一级别的;"\0"是一个字符串,空串,绝不是0,它和字符数组/指针是同一级别的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
24...7@qq.com
2013-08-22
知道答主
回答量:1
采纳率:0%
帮助的人:1470
展开全部
Str[10]="\0"错 因为"\0"是字符串,Str[10]是一个字符
Str[10]=0对 因为char和int在c里面内存占用大小是一样的,int型的短整会被强制转换成char类型后在付值给Str[10]
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
修冷荷0ew
2013-08-22 · 超过30用户采纳过TA的回答
知道答主
回答量:151
采纳率:0%
帮助的人:69.6万
展开全部
char str[10] = {0}; /*数组里每个都赋值为0*/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cdyzxy
2013-08-23 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:85%
帮助的人:3764万
展开全部
正确的初始化(空串):
char str[10]="";
char str[10]={0};
char str[10]={'\0'};
char str[10]="\0";
char str[10]; str[0]=0;
如果是char str[10]=0;这个是错误的,这个不能用在数组初始化上,str[10]=0;可以用到程序的可执行语句中。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式