求一个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行错误了,到底是什么错误 ,高手指教~
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。