上面的网友说的是对的,问题是,楼主看懂可能有一点难度。
更清楚地说,C语言约定单引号(字符码39) 为字符常量的包围标记,''它们括住的任何一个单字节字符,都被视为是相应字符常量内容,除了被显示在代码里的换行符;(双引号与单引号类似,不过它们括住的被视为是相应的字符串内容,可以有0个及以上的字符构成;)
其他的标点符号(包括! # % & ( ) * + , - . / : ; < = > ? [ \ ] ^ _ { | } ~;)有各自的功能,而字母或者下划线开头的,只要不与保留字/关键字冲突,且不与同一命名范围内的其他命名(包括变量名常量名)冲突,经过声明语句(问题中是char i,j,k;),就作为变量名使用,用于表示变量(存储信息,并且可以改变)(所以你可以看到,i++,j++,k++之类的改变变量值的语句,它们叫自增语句)。
(如果想看可以下翻)
我给楼主补充一些知识。
字符,在楼主给的问题里,有单引号括起来的,和单引号没有括起来的。
非常好,这说明楼主开始注意到了词法(Lexicon)的问题,即如何构成一个词的问题。
不论是自然语言还是逻辑语言(C语言是一种逻辑语言),都需要用到句法(Syntax)和词法(lexicon),而这也是任何C或者其他语言的教程,在前几章中需要重点叙述。
语言大都是这样的:把字(characters/letters)(字符或者字母)连起来有词,把词连起来有句,句子之间又有标点符号作为间隔。
(Character Sets)C语言用到的字符包括:空格,制表符,换行符,还有
关键字/保留字
命名(identifiers)则包含有:变量名,函数名,goto语句标号,结构体(structure)变量类型,联合体(union)变量类型,枚举型变量类型,typedef变量类型,宏(macro)名,枚举型常量标签
它们都是以字母或下划线开头的,由字母,下划线或者数字构成。
……(按下不表,楼主可以参考菜鸟教程之类的网站 runoob.com)
/*
举例说明:
char i,j,k;表名声明三个字符变量
i='x';这是赋值语句,表示将字符变量i赋值为x,字符常量需要用‘’k括起来,系统才能识别
但x在assic码中代表的是120 ,所以 i='x'也可以写成i=120,此处这样写是方便自己不用查阅
assic表
而if中的判断语句 是字符变量i,j,k之间的比较;
区分好字符变量和字符常量,变量是需要用关键字char声明定义的,字符常量是需要用''括起
来的,字符常量是为了给字符变量赋值用的
望采纳 ,谢谢
*/
c语言中,不加引号,且符合变量命名规则的一串字符,将被解释为变量名。如x,s2D,abc等等。
加单引号的被解释为单个字符,即使个数多了也没用。如'f','7','x'等等。
加双引号的解释为字符串,如"dfhy","Ke236FC","12345"等等。
有什么问题请留言。
因为for循环是比较字符集的
if是比较两个字符的十进制表示,相当于整数比较,当然不需要引号了