int数组和char数组的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了int数组和char数组的问题相关的知识,希望对你有一定的参考价值。

int a[]=1,2,3,4输入的是地址。。。
但是 char a[]='H','e','r','o'
输出的却是Hero加乱码

这是为什么?

附:如果能告诉我为什么会出现中文乱码就更好了,如果是因为没有结尾符,直接就禁止编译就好了啊

是因为没有结尾的'\0'
字符串后面的部分内存内容存放的代码恰好是中文字符 所以就显示中文了
记得我以前调试程序的时候经常出现“烫”这个字 呵呵
参考技术A char数组是特殊处理的。 禁止编译?。。编译器的能力是有限的, 程序的对错更多时候必须依靠程序员自己来判断。 参考技术B char a[]='H','e','r','o';
你作为整型数组声明的
打印:
int i;
for (i=0;i<4;i++) printf("%c",a[i]);

for (i=0;i<4;i++) printf("%d ",a[i]);

以上是关于int数组和char数组的问题的主要内容,如果未能解决你的问题,请参考以下文章

将char数组转换为int数组c#

将char数组转换为int数组[重复]

怎样把char型数组转存为int型数组?

在 C++ 中使用 atoi 将 char 数组转换为 int 值

从 int 数组转换为 char 数组

如何将int型数值赋值给char型数组