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);

}