3

我有以下 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;
}
4

1 回答 1

10

问题在这里:

r=mark>=35?"pass":"fail";

您不能将字符串文字分配给char数组。你有几个选择:

  • 使用strcpy()而不是赋值;
  • 更改r为 type const char*
  • 更改r为 type std::string

最后一个选项是迄今为止最好的。

于 2012-05-26T16:58:04.740 回答