C++ C/C++;“前应为主表达式”;否则";
有人能帮我吗?我刚开始在C/C++上编程(我正在使用DevC++)C++ C/C++;“前应为主表达式”;否则";,c++,C++,有人能帮我吗?我刚开始在C/C++上编程(我正在使用DevC++) #包括 #包括 使用名称空间std; int main(int argc,char*argv[]){ int X; int-Y; INTR; cout X,Y; 如果(Y=1){ R=X; }; //如果 else(){ 做 而(Y>0){ R=X*X; Y--; }// };//else cout这是因为if语句后面有一个分号。 如果报表格式为: if(expression) { // If Code } else
#包括
#包括
使用名称空间std;
int main(int argc,char*argv[]){
int X;
int-Y;
INTR;
cout X,Y;
如果(Y=1){
R=X;
};
//如果
else(){
做
而(Y>0){
R=X*X;
Y--;
}//
};//else cout这是因为if语句后面有一个分号。
如果报表格式为:
if(expression)
{
// If Code
}
else
{
// Else code
}
在此处删除最后一个“;”。您有五个错误:
cin>>X,Y;
不同时读取用户输入到X
和Y
。实际上它是两个独立的语句:cin>>X;
和Y;
。第一个语句读取用户输入到X
,第二个语句计算Y
的当前值,并且不对其做任何操作。要同时读取用户输入到这两个语句,请执行以下操作:变量:cin>>X>>Y;
if(Y=1)
将1
分配给Y
。您想用=
检查是否相等:if(Y==1)
即“ifY
等于1
”
不要在if
、else
和while
块后加分号。它们是多余的,会导致类似这样的错误。只在语句后加分号
不要把()
放在之后,否则
do while循环是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!
}
总之,选择一个合适的方法来正确学习该语言,这样你就可以停止猜测正确的语法了。else()
是错误的,它应该是else
。在这里提问之前,请阅读一些有关该主题的教程。欢迎使用堆栈溢出!删除;否则,也不应该在else中插入任何括号(else()是错误的)如果你修复了这个错误,你就可以得到下一个。如果你回去阅读初学者的教程,也许更好。使用StAcExcel作为逐行语法检查器是不好用的:- C/C++不是语言。根据你的代码判断,你正在学习C++。在else之后,几乎任何紧跟在紧括号后面的分号。我可能忘记了什么,但我不认为};语法永远都是正确的。
if (Y = 1) {
R = X;
};
...
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!
}