C language_Error:expected ')' before ';' token
C language_Error:expected ')' before ';' token
以防万一你需要知道我正在处理的程序 - 这是作业 question:A 通过键盘输入五位数。写一个函数获取反转后的数,再写一个函数判断正数和反转数是否相等。在 main() 中使用此函数并提供必要的参数以获得结果。
我的代码是:
#include <stdio.h>
int Reversed(int rev);
int Equality(int equ);
int main (){
int num,result;
printf("Please enter a number that has five digits:");
scanf("%d", &num);
result=Equality(num);
return 0;
}
int Reversed(int num){
int number=num;
int rev=0;
int digit;
do{
digit=num%10;
rev=rev*10+digit;
num=num/10;
}
while ((num>0));
return rev;
}
int Equality(num){
int reve,numb;
if ( (numb=num)== (reve=Reversed(num);) )
printf("number equals the reversed number");
else
printf("number doesn't equal the reversed number");
}
有几点需要修正:
- 删除
if ( (numb=num)== (reve=Reversed(num);) )
中的分号,这是不应该的。 (主要问题)
- 正确格式化您的代码。
Equality()
没有 return
声明,所以它 returns 是不可用的。
- 我想
Equality()
应该只是确定,而不是打印结果。
Equality()
中的变量reve
和numb
,Reversed()
中的number
除了被赋值外没有被使用,所以你不会需要它们。
- 不应省略函数参数的类型。
更正代码:
#include <stdio.h>
int Reversed(int rev);
int Equality(int equ);
int main (void){
int num;
printf("Please enter a number that has five digits:");
if(scanf("%d", &num) != 1){
puts("read error");
return 1;
}
if(Equality(num))
printf("number equals the reversed number");
else
printf("number doesn't equal the reversed number");
return 0;
}
int Reversed(int num){
int rev=0;
int digit;
do{
digit=num%10;
rev=rev*10+digit;
num=num/10;
}
while (num>0);
return rev;
}
int Equality(int num){
return ( num == Reversed(num) );
}
以防万一你需要知道我正在处理的程序 - 这是作业 question:A 通过键盘输入五位数。写一个函数获取反转后的数,再写一个函数判断正数和反转数是否相等。在 main() 中使用此函数并提供必要的参数以获得结果。
我的代码是:
#include <stdio.h>
int Reversed(int rev);
int Equality(int equ);
int main (){
int num,result;
printf("Please enter a number that has five digits:");
scanf("%d", &num);
result=Equality(num);
return 0;
}
int Reversed(int num){
int number=num;
int rev=0;
int digit;
do{
digit=num%10;
rev=rev*10+digit;
num=num/10;
}
while ((num>0));
return rev;
}
int Equality(num){
int reve,numb;
if ( (numb=num)== (reve=Reversed(num);) )
printf("number equals the reversed number");
else
printf("number doesn't equal the reversed number");
}
有几点需要修正:
- 删除
if ( (numb=num)== (reve=Reversed(num);) )
中的分号,这是不应该的。 (主要问题) - 正确格式化您的代码。
Equality()
没有return
声明,所以它 returns 是不可用的。- 我想
Equality()
应该只是确定,而不是打印结果。 Equality()
中的变量reve
和numb
,Reversed()
中的number
除了被赋值外没有被使用,所以你不会需要它们。- 不应省略函数参数的类型。
更正代码:
#include <stdio.h>
int Reversed(int rev);
int Equality(int equ);
int main (void){
int num;
printf("Please enter a number that has five digits:");
if(scanf("%d", &num) != 1){
puts("read error");
return 1;
}
if(Equality(num))
printf("number equals the reversed number");
else
printf("number doesn't equal the reversed number");
return 0;
}
int Reversed(int num){
int rev=0;
int digit;
do{
digit=num%10;
rev=rev*10+digit;
num=num/10;
}
while (num>0);
return rev;
}
int Equality(int num){
return ( num == Reversed(num) );
}