双引号与单引号的区别
用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值
用双引号引起的字符串,代表的是一个指向无名数组起始字符的指针,该数组被双引号之间的字符以及一个额外的二进制值为零的字符’\0’初始化。
#include <stdio.h>
#include <string.h>
void main()
{
char a[]={'C','H','A','N','G','E',0};
char b[]={"CHANGE"};
printf("%d\n%d\n",a,b);
}
即数组a打印出的整数值为字符’C’,‘H’,‘A’,‘N’,‘G’,'E’集中的序列值,数组b打印出的整数值为字符’C’的序列值。