典型错误1:将一个字符串写入到没有初始化的指针位置
int main()
{
char *p ; //野指针
printf("p = %p\n",p);
scanf("%s",p);
return 0;
}
正确做法:
char str[];
char *p = str;
printf("p = %p\n",p);
scanf("%s",p);
典型错误2:用指针去修改字符串常量的值
int main()
{
char *p = "wello ";
*p = 'h'; //字符串是一个常量,不能用指针改变它的值,只能拿来使用
printf("%s\n",p);
return 0;
}
正确做法:
char str[10] = "wello";
char *p =str;
*p = 'h';
printf("%s\n",p);