【发布时间】:2013-02-07 05:06:21
【问题描述】:
这里是初学者...
我正在为我的计算机科学课程编写一个非常简单的程序,我遇到了一个我想进一步了解的问题。这是我的代码:
#include <iostream>
using namespace std;
int main(int argc, const char * argv[])
{
char courseLevel;
cout << "Will you be taking graduate or undergraduate level courses (enter 'U'"
" for undergraduate,'G' for graduate.";
cin >> courseLevel;
if (courseLevel == "U")
{
cout << "You selected undergraduate level courses.";
}
return 0;
}
我的 if 语句收到两条错误消息: 1) 与字符串文字的比较结果未指定(使用 strncmp 代替)。 2)指针和整数的比较('int'和'const char*')。
我似乎已经通过将我的 U 用单引号括起来解决了这个问题,或者该程序至少可以正常工作。但是,正如我所说,我只是想了解我收到错误的原因,以便更好地了解我在做什么。
【问题讨论】:
-
改用单引号。