C++ 字符指针问题请教

来源:百度知道 编辑:UC知道 时间:2024/06/02 12:17:05
#include<iostream.h>

main()
{
char name[5]="mary" ;
char *zhizhen ;
zhizhen=name ;
*(zhizhen+0)= "C" ;
cout<<*(zhizhen+0)<<endl ;
}

这里我想改掉 name[0]里的字符。我用指针改的
可是 *(zhizhen+0)="C";
这句有错误 但下边输出 可以不知道哪写错了

这程序错误不少

首先,建议用标准库
#include <iostream>
using namespace std;

第二,main函数返回值(标准C++不允许默认int)
int main(){
...
}

第三,字符字面量和字符串字面量的区别
"C" 是字符串,把它当作值的意思是这个字符串的地址。
应该用
*(zhizhen+0)='C';

把*(zhizhen+0)= "C" ; 换成*(zhizhen+0)= 'C' ; (单引号)

因为""用双引号的为字符串,即为两个字符,系统会帮你加多一个0在字符串最后的