C语言中字符型的定义

来源:百度知道 编辑:UC知道 时间:2024/05/16 09:08:36
我写了这样一个例子
main()
{
char a="abc";
printf("%c",a);
}
程序运行输出的不是“abc"而是一行乱码~!请问下为什么?
那如果我就是想让他输出abc我该怎么做?

你既然定义了a为字符型,那么char a="abc"; 就自动将a变为字符型数组,那么a就成为了这个数组的首地址。所以输出的应该是数组的首地址,而不可能是abc

你这种定义是错误的
char a;a只是一个字节,
#include <stdio.h>
void main()
{
char a[4]="abc";
printf("%c",a);
}

printf("%c",a);改为printf("%s",a);