我有以下C++代码,当我编译它时,我收到"需要左值"错误。请指出我哪里出错了。谢谢。
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr();
char r[5];
int mark;
cout<<"Please enter your goddamn marks";
cin>>mark;
r=mark>=35?"pass":"fail";
cout<<"n"<<r;
}
问题就在这里:
r=mark>=35?"pass":"fail";
不能将字符串文本分配给char
数组。您有以下几种选择:
- 使用
strcpy()
而不是分配; - 将
r
更改为类型const char*
; - 将
r
更改为类型std::string
。
最后一个选项是迄今为止最好的。