char ch='A';
char ch="A";//错误,将一个字符串常量的地址值赋给一个字符串变量ch。会产生变异错误。
const char *str="A";
const char *str='A';错误。同样如果一个字符串指针被一个字符变量赋值也会出现错误。。
************************************************************************************
#include<stdio.h>
void main()
{
const char *str="Ann";
const char *p="B";
printf("%c",*str);
printf("\n");
printf("%c",*p);
}
结果是输出了AB。说明p指向了字符串中第一个字符的地址
也可以使用printf("%c",*(str+2));是输出字符串中的第3个字符。由此可以得出遍历字符串,然后输出字符串中字符个数的算法:
#include<stdio.h>
void main()
{
int i=0;
char *p="ancdwe";
while(*p!='\0')
{
printf("%c",*p);
p++;
i++;
}
printf("字符串长度为:%i]d",i);}