![](/img/trans.png)
[英]c++ if (DEBUG) … expected primary-expression before '==' token
[英]C/C++ expected primary-expression before “else”
有人能幫我嗎? 即時通訊剛剛開始在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
您有五個錯誤:
cin >> X, Y;
不會同時讀取X
和Y
用戶輸入。 它實際上是兩個單獨的語句: cin >> X;
和Y;
。 第一個讀取X
用戶輸入,第二個讀取Y
的當前值,並且不對其執行任何操作。 要讀取用戶輸入的兩個變量: cin >> X >> Y;
。 if (Y = 1)
將1
分配給Y
您要使用==
檢查是否相等 : if (Y == 1)
即“如果Y
等於1
” 。 if
, else
和while
塊之后放置分號。 它們是多余的,並且會導致此類錯誤。 僅在語句后放置分號。 ()
后, else
。 do { ... } while (...);
do while (...) { ... }
,而while循環只是while (...) { ... }
。 這是正確的版本:
...
cin >> X >> Y; // 1.
if (Y == 1) { // 2.
R = X;
} // 3.
else { // 4.
while (Y > 0) { // 5.
R = X * X;
Y--;
}
// or if you want a do-while:
do {
R = X * X;
Y--;
} while (Y > 0); // semicolon here!
}
總之,選擇一本書以正確學習語言,這樣您就可以停止猜測正確的語法是什么。
這是因為if語句后有分號。 更正以下語句形式:
if(expression)
{
// If Code
}
else
{
// Else code
}
if (Y = 1) {
R = X;
};
刪除最后一個“;” 這里。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.