C / C ++在" else"之前期望初级表达式

时间:2015-04-13 20:36:06

标签: c++

有人能帮帮我吗?即时开始编程C / C ++(即使用DevC ++)

#include <iostream>
#include <cstdlib>

using namespace std;

int main(int argc, char* argv[]) {
    int X;
    int Y;
    int R;
    cout << "FUNCION POTENCIA";
    cout << "Ingrese primero la base y luego el exponente";
    cin >> X, Y;
    if (Y = 1) {
        R = X;
    };
    //if
    else() {
        do
            while (Y > 0) {
                R = X * X;
                Y--;
            }; //do while
    }; //else   cout<< R;
    system("PAUSE");
    return EXIT_SUCCESS;
} //main

3 个答案:

答案 0 :(得分:3)

您有五个错误:

  1. cin >> X, Y;无法读取XY的用户输入。它实际上是两个单独的陈述:cin >> X;Y;。第一个读取用户输入到X,第二个用于评估Y的当前值,并且不对它做任何事情。读取两个变量的用户输入:cin >> X >> Y;
  2. if (Y = 1) 1分配给Y。您希望使用==检查相等if (Y == 1)“如果Y等于1
  3. 请勿在{{1​​}},ifelse块之后添加分号。它们是多余的并导致这样的错误。仅在语句之后加上分号。
  4. 请勿在{{1​​}}之后放置while
  5. do-while 循环为()而不是else,而循环只是do { ... } while (...);
  6. 这是正确的版本:

    do while (...) { ... }

    总之,选择一个book来正确学习语言,这样你就可以停止猜测正确的语法了。

答案 1 :(得分:1)

这是因为你的if语句后面有一个分号。 如果声明表格是:

,请更正
if(expression)
{
     // If Code
}
else
{
     // Else code
}

答案 2 :(得分:1)

 if (Y = 1) {
        R = X;
 };

删除最后一个&#34;;&#34;这里。