张邦焱 发表于 2021-2-16 20:40:43

函数

#include<stdio.h>
int main()
{
        int max(int x, int y);
        int a, b, c;
        printf("please input a,b\n");
        scanf_s("%d,%d\n", &a, &b);
        c = max(a, b);
        printf("max is %d\n", c);
        return 0;
}

int max(int x, int y)
{
        int z;
        z = x > y ? x : y;
        return z;
}

正常来说输入a和b的值,就可printf,但是这个程序需要输入3个值才有输出。(vs2013)不知道为什么。

jackz007 发表于 2021-2-16 20:57:03

         这一句
scanf_s("%d,%d\n", &a, &b);
      改为这样试试
scanf_s("%d%d", &a, &b);

李京 发表于 2021-2-16 20:59:19

scanf_c中有个逗号
scanf_s("%d,%d\n", &a, &b);

两个%之间有个逗号,就代表你输入的时候要输入一个分隔符(逗号分隔符),
你也可以不输入逗号,输入其他的也行

张邦焱 发表于 2021-2-16 21:01:47

jackz007 发表于 2021-2-16 20:57
这一句

      改为这样试试

scanf_s("%d,%d", &a, &b);这样可以,为什么呢

jackz007 发表于 2021-2-16 21:05:29

本帖最后由 jackz007 于 2021-2-16 21:08 编辑

张邦焱 发表于 2021-2-16 21:01
scanf_s("%d,%d", &a, &b);这样可以,为什么呢

      你在 scanf_s() 的格式描述字符串中加入 ',' 和 '\n' 的意图是什么?可以坦率地告诉你,没有任何意义,纯粹添乱!
      scanf() 的格式描述符越简单越好,凡是非必须的就必然是添乱的因素!

张邦焱 发表于 2021-2-16 21:24:40

jackz007 发表于 2021-2-16 21:05
你在 scanf_s() 的格式描述字符串中加入 ',' 和 '\n' 的意图是什么?可以坦率地告诉你,没有任 ...

嗯嗯

client_2233 发表于 2021-2-16 21:38:36

scanf_s("%d,%d\n", &a, &b);
你为什么scanf加\n?“,”分隔,输入也要用“,”!

张邦焱 发表于 2021-2-16 21:45:25

client_2233 发表于 2021-2-16 21:38
你为什么scanf加\n?“,”分隔,输入也要用“,”!

因为书上用“,” 所以

张邦焱 发表于 2021-2-16 21:45:57

张邦焱 发表于 2021-2-16 21:24
嗯嗯

因为书上用“,”

jackz007 发表于 2021-2-16 22:00:31

本帖最后由 jackz007 于 2021-2-16 22:01 编辑

张邦焱 发表于 2021-2-16 21:45
因为书上用“,”

         写代码效果为王,不能迷信书上说的,没准,是你自己断章取义,并没有完全明白作者的真实意图,反而冤屈了别人!

张邦焱 发表于 2021-2-16 22:40:06

jackz007 发表于 2021-2-16 22:00
写代码效果为王,不能迷信书上说的,没准,是你自己断章取义,并没有完全明白作者的真实意图 ...

有可能

client_2233 发表于 2021-2-17 21:21:34

emmmm以实际应用为主,加油!!
页: [1]
查看完整版本: 函数