西柚西柚 发表于 2020-10-31 17:44:33

求助求助

C语言
为什么下面的代码输入用,隔开结果输出的是错的
怎么改可以实现用,隔开输入

#include "stdio.h"
main()
{
int x,y,z,t;
scanf("%d,%d,%d",&x,&y,&z);
if(x>y)
{t=x;x=y;y=t;}
if(y>z)
{t=y;y=z;z=t;}
if(x>y)
{t=x;x=y;y=t;}
printf("small to big:%d %d %d\n",x,y,z);
}

jackz007 发表于 2020-10-31 18:07:04

#include <stdio.h>

void sort(int * a , int * b)
{
      int c             ;
      if(* a > * b) {
                c = * a   ;
                * a = * b ;
                * b = c   ;
      }
}

main(void)
{
      int x , y , z                                 ;
      scanf("%d,%d,%d" , & x , & y , & z)             ;
      sort(& x , & y)                                 ;
      sort(& x , & z)                                 ;
      sort(& y , & z)                                 ;
      printf("small to big : %d %d %d\n" , x , y , z) ;
}

永恒的蓝色梦想 发表于 2020-10-31 18:28:12

#include<stdio.h>



int main(void) {
    int x, y, z, t;
    scanf("%d,%d,%d", &x, &y, &z);


    if (x > y) {
      t = x; x = y; y = t;
    }
    if (y > z) {
      t = y; y = z; z = t;
    }
    if (x > y) {
      t = x; x = y; y = t;
    }


    printf("small to big:%d %d %d\n", x, y, z);
    return 0;
}

西柚西柚 发表于 2020-10-31 20:46:19

永恒的蓝色梦想 发表于 2020-10-31 18:28


可以解释一下吗

永恒的蓝色梦想 发表于 2020-11-1 12:23:08

西柚西柚 发表于 2020-10-31 20:46
可以解释一下吗

分隔符必须对应,也就是说 scanf 的字符串中也必须是全角逗号

西柚西柚 发表于 2020-11-1 18:41:23

永恒的蓝色梦想 发表于 2020-11-1 12:23
分隔符必须对应,也就是说 scanf 的字符串中也必须是全角逗号

开头的void可以去掉吗

永恒的蓝色梦想 发表于 2020-11-1 18:48:50

西柚西柚 发表于 2020-11-1 18:41
开头的void可以去掉吗

void 是非法的,应该使用 int

西柚西柚 发表于 2020-11-1 20:52:59

永恒的蓝色梦想 发表于 2020-11-1 18:48
void 是非法的,应该使用 int

是int main(void)这句里的void

永恒的蓝色梦想 发表于 2020-11-2 12:54:54

西柚西柚 发表于 2020-11-1 20:52
是int main(void)这句里的void

可以。

Deenan 发表于 2020-11-2 18:50:42

这个scanf引号里不能加,吧。。我加了就出错,去掉就好了

Deenan 发表于 2020-11-2 18:52:43

Deenan 发表于 2020-11-2 18:50
这个scanf引号里不能加,吧。。我加了就出错,去掉就好了

嗷嗷我没搞明白
页: [1]
查看完整版本: 求助求助