C/C++ "else"前的预期原表达
C/C++ expected primary-expression before "else"
有人能帮我吗?im刚刚开始在C/C++上编程(im使用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
之后 -
dowhile循环是
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;
};
删除此处的最后一个";"。
相关文章:
- 我的简单if-else语句是如何无法访问的代码
- 线程,如果else语句,都是错误的上下文切换后,会发生什么
- 如何删除peer if else分支中的冗长句子
- 我似乎对if/else的基本语句有问题:/
- 使用if-else将数字转换为单词
- c++ std::enable_if .... else?
- 如果 else 语句不断循环
- 为什么这个案例陈述需要一个"if else"而不仅仅是一个"if"?
- C++ If/Else 语句被跳过
- 为什么我的最后一个 ELSE 条件无法正确执行
- 如果条件不相关,我应该更喜欢两个 if 语句而不是 if-else 语句吗?
- 如何将 if else 语句重写为 switch 语句
- 在 C++ 中的 if-else if- else 语句期间更改变量
- 为什么我的 if else 语句不起作用并从数组中输出正确的索引?
- 我的 If Else 语句无法在向量 (C++) 中提供最大值
- 具有嵌套 if-else 的循环的时间复杂度
- 如果 else 语句使用大写和小写字母
- 如何改进一堆在已知值范围内评估变量的 else-if 条件?
- 为什么无论输入如何,所有 if-else 语句都会打印?
- 多个'if'语句,不带'else'