c++的输出 怎么又乱码啊

kisslalala 2009-04-20 04:35:21
#include<iostream.h>
int main()
{
char c[]={'w','c','s'};
cout<<c<<'\t'<<sizeof (c)<<endl;
return 0;
}
这个程序,输出c的时候为什么是 wcs汤 啊?哪位大大告诉我一下吧
...全文
52 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ch_tei_hyou 2009-04-20
  • 打赏
  • 举报
回复
char c[]={'w','c','s'};
其中的c就是一个指针,没有结束符'\0’
所以你直接输出c,其实就是输出c指向的所有字符,
一般的需要在后边加'\0'
如:char c[]={'w','c','s','\0'};
或者单个的c[0]....的输出。
ccj_19850121 2009-04-20
  • 打赏
  • 举报
回复
#include <iostream.h>
int main()
{
char c[]="wcs";
cout < <c < <'\t' < <sizeof (c) < <endl;
return 0;
}

就可以了,
char c[]={'w','c','s'}; 字符数组,长度3, 当用cout输出时, 找不到string结束符, 就会一直输出s后面的内容
t1397018 2009-04-20
  • 打赏
  • 举报
回复
char c[]={'w','c','s'}; 没有加'\0',所以C不是一个字符串

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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