123666666 发表于 2022-4-9 06:29:36

这个为什么输出的是乱码?

#include<stdio.h>
int main(void)
{
      int x,y,z,t;
      printf("x,y,z:");
      scanf("%d %d %d",&x,&y,&z);
      if(x>y)
      {
                t=x,x=y,y=t;
      }
      if(x>z)
      {
                t=x,x=z,z=t;
      }
      if(y>z)
      {
                t=y,z=y,y=t;
      }
      printf("small to big:%d %d %d\n",x,y,z);
      return 0;
}
输出
small to big:-625183232 32766 32766


wp231957 发表于 2022-4-9 06:55:49

你的输入应该有问题

zzxhh628 发表于 2022-4-9 09:05:10

是你输入数字的问题吧,你输入的数可能太大了或者太小了,不然应该没问题。

HandsonYe 发表于 2022-4-9 11:10:30

if(x>y)
      {
                t=x,x=y,y=t;
      }
语句之间用;分号隔开

cjgank 发表于 2022-4-10 16:42:08

t=x,x=y,y=t;//楼主应注意=是赋值运算符,运算符两边的变量构成一条语句。既然是一条语句就应该用分号; 而不是用逗号 ,

18574565396 发表于 2022-4-10 20:55:50

scanf(%d %d %d )这样格式的,那么你输入应该也是1 2 3这样 不能一起输入

123666666 发表于 2022-4-15 15:10:13

18574565396 发表于 2022-4-10 20:55
scanf(%d %d %d )这样格式的,那么你输入应该也是1 2 3这样 不能一起输入

是的
页: [1]
查看完整版本: 这个为什么输出的是乱码?