简单c程序不断崩溃 #包括 内部主(空) { INTA、b、c; printf(“输入a、b、c的值:”); scanf(“%d%d%d”,a、b、c); printf(“\n输入数字的顺序:”); /*最大数测试*/ 如果((a>b)和&(a>c)) printf(“%d”,a); 否则如果((b>a)和&(b>c)) printf(“%d”,b); 否则如果((c>a)和&(c>b)) printf(“%d”,c); /*第二大数字的测试*/ 如果((a>b&&aa&&ba&&c

简单c程序不断崩溃 #包括 内部主(空) { INTA、b、c; printf(“输入a、b、c的值:”); scanf(“%d%d%d”,a、b、c); printf(“\n输入数字的顺序:”); /*最大数测试*/ 如果((a>b)和&(a>c)) printf(“%d”,a); 否则如果((b>a)和&(b>c)) printf(“%d”,b); 否则如果((c>a)和&(c>b)) printf(“%d”,c); /*第二大数字的测试*/ 如果((a>b&&aa&&ba&&c,c,scanf,crash-reports,C,Scanf,Crash Reports,),那是因为您没有将变量的地址传递给scanf。更改 #include <stdio.h> int main(void) { int a,b,c; printf("Enter values of a,b,c:"); scanf("%d %d %d",a,b,c); printf("\nDescending order of the numbers entered:"); /*Test for Biggest Number*/ if((a>b)&&(a>

),那是因为您没有将变量的地址传递给
scanf
。更改

#include <stdio.h>
int main(void)
{
int a,b,c;
printf("Enter values of a,b,c:");
scanf("%d %d %d",a,b,c);

printf("\nDescending order of the numbers entered:");

/*Test for Biggest Number*/
if((a>b)&&(a>c))
 printf("%d",a);
else if((b>a)&&(b>c))
 printf("%d",b);
else if((c>a)&&(c>b))
 printf("%d",c);

 /*Test for Second Biggest Number*/
 if((a>b&&a<c)||(a<b&&a>c))
  printf("%d",a);
 else if((b>a&&b<c)||(b<a&&b>c))
  printf("%d",b);
 else if((c>a&&c<b)||(c<a&&c>b))
  printf("%d",c);

/*Test for Smallest Number*/
if((a<b)&&(a<c))
 printf("%d",a);
else if((b<a)&&(b<c))
 printf("%d",b);
else if((c<a)&&(c<b))
 printf("%d",c);

 return 0;
}


这是因为您没有将变量的地址传递给
scanf

#include <stdio.h>
int main(void)
{
int a,b,c;
printf("Enter values of a,b,c:");
scanf("%d %d %d",a,b,c);

printf("\nDescending order of the numbers entered:");

/*Test for Biggest Number*/
if((a>b)&&(a>c))
 printf("%d",a);
else if((b>a)&&(b>c))
 printf("%d",b);
else if((c>a)&&(c>b))
 printf("%d",c);

 /*Test for Second Biggest Number*/
 if((a>b&&a<c)||(a<b&&a>c))
  printf("%d",a);
 else if((b>a&&b<c)||(b<a&&b>c))
  printf("%d",b);
 else if((c>a&&c<b)||(c<a&&c>b))
  printf("%d",c);

/*Test for Smallest Number*/
if((a<b)&&(a<c))
 printf("%d",a);
else if((b<a)&&(b<c))
 printf("%d",b);
else if((c<a)&&(c<b))
 printf("%d",c);

 return 0;
}

尝试使用:-

scanf("%d %d %d",&a,&b,&c)
而不是

scanf("%d %d %d",&a,&b,&c)
因为
&
指的是变量的地址

在C语言中,参数是按值传递的,因此您需要传递地址(或指针)。当您传递地址(或指针)时,scanf知道必须将值放在何处。

尝试使用:-

scanf("%d %d %d",&a,&b,&c)
而不是

scanf("%d %d %d",&a,&b,&c)
因为
&
指的是变量的地址


在C语言中,参数是按值传递的,因此您需要传递地址(或指针)。当您传递地址(或指针)时,scanf就会知道它必须将值放在哪里。

错误:
scanf(“%d%d%d”,a,b,C);
。更好:
scanf(“%d%d%d”,&a,&b,&C)
.C参数是按值传递的。因此您需要传递变量的地址(以便scanf知道数据放在哪里)。请在
之后添加空格,
编写一个表达式,如
if((b>a&&b a&&b C))
使其可读,并改进缩进。错误:
scanf(%d%d%,a,b,C)
更好:
scanf(“%d%d%d”,&a,&b,&c);
.c参数是按值传递的。因此需要传递变量的地址(以便scanf知道数据放在哪里)。请在
之后添加空格,
编写一个类似于
if((b>a&&b a&&b c))的表达式
使其可读,并改进缩进。这是完整的答案。@rahultripath;
&是从用户获取值所必需的。
:不总是!这是完整的答案。@rahultripath;
&是从用户获取值所必需的。
:不总是!