1. 字符的 ASCII 值
在 C 语言中,字符可以用其 ASCII 值来表示,而不需要引号。例如:
char c = 65; // 65 是字符 'A' 的 ASCII 值
在 C 语言中,ASCII 值通常以十进制表示,但实际上,C 语言支持多种进制表示法,包括十进制、十六进制和八进制
//前面有一篇文章,好像是直接说以十进制表示,那其实是格局小了,抱歉
2. 使用 putchar
和 printf
putchar函数和printf函数可以使用字符的 ASCII 值直接输出:
putchar(65); // 输出 'A'
//毕竟是char
printf("%c", 66); // 输出 'B'
//注意要用%c
3. EOF
EOF 是一个宏定义,通常在 <stdio.h> 头文件中定义。它的值通常是 -1,并不是一个字符,而是一个整型常量,用于表示“文件结束”或“读取错误”的状态
因此,getchar() 返回 EOF 是为了表示读取操作的结果,而不是返回一个字符
所以c = getchar()) == EOF不用加引号,也是因为EOF实际等价于一个整型(C语言通常为-1),对编译器而言,既然你不加引号,那不就是他的十进制/八进制/十六进制数吗?也确实如此,ASCII码中对应的EOF的十进制值就是-1
这就是为什么EOF不加引号的原因
Comments NOTHING