关于C语法的

来源:百度知道 编辑:UC知道 时间:2024/05/22 04:19:20
下列是不是合法的常量
A、"12.50"

答案说A选项不是的,可没弄明白,望给出解释。
为什么加了引号就不行了

因为加了双引号,所以不是常量了,而是一个字符数组了,字符常量是用单撇号扩起来的一个字符,还有些特殊的字符常量,是以一个字符"\"开头的字符序列,而整型常量和浮点型常量都不能用双引号括起来。。。

C规定:
常量不能用要表示/ \ ' "...必须要使用 \ 转义符号
比如,要定义"字符,就要这样:
char ch='\'';
要输出\符号,就要:
printf("\\");
OK!

C语言的常量似乎只能是基本数据类型,而这个应该是个字符数组char[6],不能做常量
加引号之前是float a=12.50;
加了之后变成char b[6]="12.50";
b[0]='1';
b[1]='2';
...
b[5]='0';
b[6]='\0';

如果是作为浮点数,肯定不能加引号,加了引号就是字符串了。
如果作为字符串常量,完全可以。

有引号