水鱼 发表于 2014-7-30 12:10:08

c语言小白求助,是一道练习题,请大牛指点下,感谢。

不知道哪里错了,为什么会提示有一个错误。请大牛指教下。

#include<stdio.h>
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);
}

『浴火凤凰』 发表于 2014-7-30 12:22:26

没有函数声明。。。
#include<stdio.h>
int max(int x,int y);
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);
}

水鱼 发表于 2014-7-30 13:10:50

『浴火凤凰』 发表于 2014-7-30 12:22
没有函数声明。。。
#include
int max(int x,int y);


还是不行啊,中间不是有了一个函数声明了吗?

BEHK 发表于 2014-7-30 13:17:20

水鱼 发表于 2014-7-30 13:10
还是不行啊,中间不是有了一个函数声明了吗?

貌似是你图片中第六行出错了,还有函数申明必须在开头吧

1258187869 发表于 2014-7-30 13:33:44

scanf和printf里面的""感觉是中文版的。。。

1258187869 发表于 2014-7-30 13:34:16

函数声明必须是在开头

『浴火凤凰』 发表于 2014-7-30 13:37:02

水鱼 发表于 2014-7-30 13:10
还是不行啊,中间不是有了一个函数声明了吗?



#include <stdio.h>
#include <math.h>
#include <stdlib.h>


int Max(int a, int b); //函数声明

void main()
{
        int x, y, z;
        printf("input two number:\n");
        scanf_s("%d%d", &x, &y);
        z = Max(x, y); //调用函数

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



        system("pause");//停留



}

int Max(int a, int b)//函数定义
{
        if (a > b)
        {
                return a;
        }
        else
        {
                return b;
        }
}

xubin2004198 发表于 2014-7-30 17:01:43

本帖最后由 xubin2004198 于 2014-7-30 17:06 编辑

双引号是全角字符,系统不认识   把 这个 ”换成 " 就没问题了

machimilk 发表于 2014-7-30 17:21:59

初步观察2个问题
1把max函数写在main函数前面,或者在main函数前面声明一下
2max函数要换名

水鱼 发表于 2014-7-30 18:18:52

1258187869 发表于 2014-7-30 13:33
scanf和printf里面的""感觉是中文版的。。。

你的感觉是对的

水鱼 发表于 2014-7-30 18:33:53

本帖最后由 水鱼 于 2014-7-30 19:21 编辑

『浴火凤凰』 发表于 2014-7-30 13:37
#include
#include
#include

非常感谢你!按你的方法可以了,

我第一次是双引号错了,但我改回来还是提错,但按你的写法又可以运行了之后。
我又返回去用我第一次的那个写法试了下,结果这次又没提示有错。
把我搞晕了,是不是编易器的问题?两次都是一样的内容,怎么结果不一样?

水鱼 发表于 2014-7-30 19:08:00

本帖最后由 水鱼 于 2014-7-30 19:09 编辑

xubin2004198 发表于 2014-7-30 17:01
双引号是全角字符,系统不认识   把 这个 ”换成 " 就没问题了
我换回来了,还是提示错误的。

沉默默 发表于 2014-7-30 20:19:46

中文引号

wuyoun17 发表于 2014-7-30 20:58:36

亲,我编译了下,不要用中文的标点符号。。。。。。。。。
像2楼说的一样,要有函数声明。。。。。。。
同样是菜鸟的路过。。。。。。。

陌刀007 发表于 2014-7-30 21:07:59

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

return (z);
}

scanf("");冒号中间不能加“,”号吧。{:1_1:}

Sccot丶 发表于 2014-7-30 23:42:19

是双引号错了的,还有头文件是不是应该加上一句#include <math.h> 呢?要是加上了头文件的话,函数声明还需不需要呢?

Sccot丶 发表于 2014-7-30 23:44:58

我刚试了下,加上头文件的话,函数声明就不需要了

liuwang 发表于 2014-7-31 10:00:12

把自定义函数放到前面应该也可以吧

天使之约 发表于 2014-7-31 11:59:52

输入法是一个潜在的错误

ouyangdongxin 发表于 2014-7-31 13:08:27

英文状态下就没有问题了
页: [1] 2
查看完整版本: c语言小白求助,是一道练习题,请大牛指点下,感谢。