当前位置: 代码迷 >> C语言 >> 为什么会提示语法错误??
  详细解决方案

为什么会提示语法错误??

热度:377   发布时间:2006-02-23 23:40:00.0
我建议你好好看看别人写的和你的区别(如6楼,虽然有问题),6楼已经提到要声明,可你。。。。
----------------解决方案--------------------------------------------------------
scanf("\nn=%d",&num);

sanf() 里面加\n 哪教的? 就算去掉\n 你输入的时候也必须输入n=** (**代表某数字)才能正常运行

难道scanf("%d",&num); 不行?


----------------解决方案--------------------------------------------------------

我知道这习惯不好,以后会该的 ,int是默认的
我后面除了多了IF以外都是照抄你的还是不行
加GETCH后没响应


----------------解决方案--------------------------------------------------------
以下是引用zqj417在2006-2-23 23:34:00的发言:

前面那个IF是多余了但是也不会错啊,运行一闪而过
#include<stdio.h>
main()
{
int num;


scanf("\nn=%d",&num);
printf("\n%d",age(num));}

int age(int n)
{ int i,z,f[100];
if(n==1)
z=1;
else
{ f[0]=1;
for(i=1;i<=n-1;i++)
f[i]=f[i-1]+2;
z=f[n-1];
}
return(z);


}

scanf("\nn=%d",&num);→scanf("%d",&num);

printf("\n%d",age(num)); 后面加个getch();

还有 在包含头文件完 声明下你定义的函数


----------------解决方案--------------------------------------------------------
以下是引用feng1256在2006-2-23 23:52:00的发言:

scanf("\nn=%d",&num);→scanf("%d",&num);

printf("\n%d",age(num)); 后面加个getch();

还有 在包含头文件完 声明下你定义的函数

[
惭愧
教训的是
我经常在SCANF里犯错


----------------解决方案--------------------------------------------------------
你写成scanf("\nn=%d",&num); 你运行程序的时候 要 先敲回车 再接着输入n=** 回车才可以运行

多麻烦

scanf("%d",&num); 你运行的时候直接输数字回车就行了

----------------解决方案--------------------------------------------------------

我错想成能自动换行了


----------------解决方案--------------------------------------------------------

看了这么多帖子,我觉得大家都没有掌握好递归函数,
其实递归函数理解起来有点困难,但写起来很容易.
另外递归函数的意思是在函数定义过程中可以调用自身.
要计算五个学生的年龄,应该在主函数中调用五次,
而不是在递归函数中用数组来做.这样你甚至可以求第100个学生的年龄.
具体代码如下:

#include<stdio.h>

int age(int n)
{
if(n==1) return (10);
return(age(n-1)+2);
}

main()
{
int i;
for(i=1;i<6;i++)
printf("%d\t",age(i));
getch();
}
够简单吧,现在你会计算第100个学生的年龄了吗?


----------------解决方案--------------------------------------------------------

#include<stdio.h>
int age(int num);
main()
{
int num;
int z;
printf("Please input the num:\n");
scanf("%d",&num);
printf("The num entered is %d\n",num);
z=age(num);
printf("The result is %d\n",z);
return z;
}

int age(int num){
int z;
if(num!=1){
z=age(num-1)+2;
return (z);
}
else return 10;
}
不如18楼的简单,惭愧~~


----------------解决方案--------------------------------------------------------
我汗
----------------解决方案--------------------------------------------------------