atommacht 发表于 2008-7-19 22:04

新手求助!

帮我看看哪个地方出问题了,我照着一个例子做的,还是不对,实在找不出来毛病!
#include "stdio.h"
void main()
{
  int a,b,c;
  scanf("%d,%d",&a,&b);
  c=max(a,b);
  printf("max=%d",c);
   
}
  int max(intx,inty)
          {intz;
          if(x>y)z=x;
          else z=y;
          return(z);
  }

病书生 发表于 2008-7-19 22:07

#include "stdio.h"
int max(int x,int y);
void main()
{
  int a,b,c;
  scanf("%d,%d",&a,&b);
  c=max(a,b);
  printf("max=%d",c);
   
}
  int max(int x,int y)
      {int z;
      if(x>y)z=x;
      else z=y;
      return(z);
  }

病书生 发表于 2008-7-19 22:08

应该先声明函数 然后再调用,如果你把
int max(int x,int y)
      {int z;
      if(x>y)z=x;
      else z=y;
      return(z);
  }
放在void main 上面就没事啦

独孤小梦 发表于 2008-7-19 22:13

#include "stdio.h"
void main()
{
        int max(int x,int y);
  int a,b,c;
  scanf("%d,%d",&a,&b);
  c=max(a,b);
  printf("max=%d",c);
   
}
  int max(int x,int y)
      {
       int z;
       z=(x>y)?x:y;
       return(z);
  }


你的错误在没有声明函数.还有函数里的intx,inty应该分开啊!

playd 发表于 2008-7-19 22:13

[quote][bo][un]atommacht[/un] 在 2008-7-19 22:04 的发言:[/bo]

帮我看看哪个地方出问题了,我照着一个例子做的,还是不对,实在找不出来毛病!
#include "stdio.h"
void main()
{
  int a,b,c;
  scanf("%d,%d",&a,&b);
  c=max(a,b);
  printf("max=%d",c);
   
}
   ... [/quote]

这是课本上的原教程,不过你抄错了一个代码
#include "stdio.h"正确的是
[color=Red]#include <stdio.h>[/color]

病书生 发表于 2008-7-19 22:22

#include "stdio.h"
#include <stdio.h>
这两个都是正确的,不过书上好像比较推崇第2种

playd 发表于 2008-7-19 22:35

printf("max=%d\n",c);

我也是新手,书才看了几页!

不过楼主不太认真,没有仔细检查代码!

病书生 发表于 2008-7-20 00:50

[quote][bo][un]playd[/un] 在 2008-7-19 22:35 的发言:[/bo]

printf("max=%d\n",c);

我也是新手,书才看了几页!

不过楼主不太认真,没有仔细检查代码! [/quote]
LZ的 printf("max=%d",c);
你的 printf("max=%d\n",c);
就多了 一个\n 而已 ,\n表示换行也就是按下回车,对程序没影响的

seeseed 发表于 2008-7-20 03:13

我也是初学者,感觉应该弄个printf语句来提示输入好一点

子林 发表于 2008-7-20 11:38

回复 5# playd 的帖子

可以这样写的 #include "stdio.h" 由于编译器的不同 有的需要申明 有的不需要 但现在都要求申明哦

zhong0711101 发表于 2008-7-20 16:29

应该先声明函数 然后再调用

页: [1]

编程论坛