关于#c语言#的问题:char类在赋值数字的时候只能赋值0-9之间的数字吗

char c4='97';
printf("c4以字符形式输出:%c\n",c4);

** 我的问题**

  1. 为什么在运行的时候会报错?

  2. char类字符的范围不是0-127吗?

  3. char类在赋值数字的时候只能赋值0-9之间的数字吗?

  4. char的本质不是转换成ASCII相对应的数吗?

char是一个字符,你那里多打了个单引号吧,单引号里只能包含一个字符,如果要把ASCII码转成对应的数:

chat c4 = 97;  // ASCII 码转字符,不用加单引号
printf("c4以字符形式输出: %c\n", c4);

97是十进制数值,而不是 '97', 应该是:char c4=97;

需要理解一下字符,数值,字符串这三个类型,char可以存字符,0-127的数值,不能存字符串
char c4='a'; 存的是字符没问题
char c4=97; 存的是数值没问题,其实是字符'a'的ascii码,跟上面效果一样
char c4="97"; "97" 是字符串,不能存到char里,报错