-------------------------------------资源来源于网络,仅供自学使用,如有侵权,联系我必删.
单引号和双引号
C 语言中的 单引号 用来表示 字符常量
C 语言中的 双引号 用来表示 字符串常量
第一:
#include <stdio.h>
int main()
{
char* p1 = 1 ;//十进制 指向地址1 错误
char* p2 = '1';//ASCII 指向地址49 错误
char* p3 = "1";//字符串
printf("%s, %s, %s", p1, p2, p3);//错误
printf('\n'); //错误
printf("\n");
return 0;
}
'a'表示字符常量
在内存中占1 个字节
’a’+1 表示’a’ 的ASCII 码加1 , 结果为‘b'
“a” 表示字符串常量
在内存中占2 个字节
“a”+1 表示指针运算 , 结果指向“a” 结束符’\0'
第二:
正确写法:字符
#include <stdio.h>
int main()
{
char c = ' '; //字符
while( c=='\t' || c==' ' || c=='\n' ) //字符
{
scanf("%c", &c);
}
return 0;
}
错误写法: 字符串
小结
本质上单引号括起来的一个字符代表整数
双引号括起来的字符代表一个指针
C 编译器接受字符和字符串的比较 , 可意义是错误的
C 编译器允许字符串对字符变量赋值 ,其意义是错误的