求一个C++程序改错

来源:百度知道 编辑:UC知道 时间:2024/06/06 04:52:29
#include<iostream.h>
void main()
{char s1[]=”StringPointer”;
char *sp=s1;
cout<<sp<<endl;
cout<<s1+6<<endl;
char s2[10];
for(int i=0; i<6;i++) s2(i)=sp[i];
s2[i]=0;
cout<<s2<<” ”<<&s1[6]<<endl;}
C++程序提示我第8行错误了,到底是什么错误 ,高手指教~

写成s2[i]=sp[i]; 编译时出错term does not evaluate to a function

修改后运行结果:

StringPointer

Pointer

String Pointer

意见:

最好把s2[i]=0;改为s2[i]='\0';

语言风格写成标准C++

s2(i) 改为s2[i]
应该行
在第8行

s2[i]=sp[i];

s2(i)改为s2[i]

s2(i)=sp[i];
改为:
s2[i]=sp(i);

楼主的程序风格很不符合标准C++,倒像C。