嗨,我是C语言的初学者,现在我的程序有两个问题,谢谢您的帮助。
#include<stdio.h>
int reverse (int x)
main()
{
int x;
int v,z,t,a,i=1;
printf("enter your number:\n");
scanf("%u",&x);
t=x;
while(t>0)
{
t=t/10;
i++;
}
printf("%d\n",i-1);
a=(i-1)%2;
if(a=1)
{
x=x/10;
z=x%10;
v=10*(int reverse (int x))+z
printf("%d",v);
printf("%d",x);
}
else
printf("%d",int reverse (int x));
}
int reverse(int x);
{
if(x>=10)
reverse(n/10);
printf("%d",n%10);
return;
}
here are my errors:
[错误] C:\ Users \ Administrator \ Documents \ C-Free \ Temp \ Untitled5.cpp:3:错误:“ main”之前的预期初始化程序
[错误] C:\ Users \ Administrator \ Documents \ C-Free \ Temp \ Untitled5.cpp:26:错误:'{'令牌之前的预期unqualified-id
my compiler is c free 5.0
谢谢
最佳答案
在函数原型定义中缺少分号
int reverse (int x);
^
v=10*(int reverse (int x))+z
那不是函数的调用方式,你有这样的调用
v=10*(reverse(x))+z; //a missing semicolon here too
您的函数
reverse()
不返回任何内容。int reverse(int x);
{
if(x>=10)
reverse(n/10);
printf("%d",n%10);
return; //Return whatever int you want to here
}
请阅读一些不错的Basic C编程书。