课程
/后端开发
/C
/C语言入门
#include <stdio.h>
int main()
{
char c = "a";
int n = c; //将c赋值给n
float f = c; //将c赋值给f
double d = c; //将c赋值给d
printf("%d\n",n);
printf("%f\n",f);
printf("%lf\n",d);
return 0;
}
2017-08-08
源自:C语言入门 2-8
正在回答
单引号括起来为字符,对应值为a的ASCII值,双引号括起来为字符串,char c = "a";这样是不合法的,通常我们是这样来定义的,char *c = "a";或者开一个buffer来存放字符串,char buff[2] = "a";
再补充一点,C语言中,字符串并不是一种数据类型,准确来讲它是数组,字符数组,结束符为 \0,比如,“abc”,它的长度是多大呢,答案是4个字节,它在内存是这么存的:{‘a’,'b', 'c', '\0'},所以是4个字节
单引号代表的是一个字符,也就是输出的字符a的ASCALL码,双引号中代表a是一个字符串,这个输出应该是有其特定的计算方法或者乱码,至少在我的机子上运行的是44
用双引号表示字符串,字符串包含两个字符,a和\0,所以输出不一样
举报
C语言入门视频教程,带你进入编程世界的必修课-C语言
6 回答为什么a要打‘a’双引号而c不需要打‘’引号
1 回答为什么char c='a' 这个a要用单引号 能详细说说单引号和双引号 还有不加符号的含义么
3 回答为何"a"输出是64 'a'输出是97?
1 回答为什么y和n 要用单引号,双引号就不行
2 回答c = 'a';这里a怎么要加单引号