猿问

把如下程序写入VC6.0中,为什么没有error也没有warning运行时却总是显示输入的最后一个数而不显示最大值?

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


Rebellious_2016
浏览 1846回答 4
4回答

JustWannaHugU

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

慕后端6388942

int max(int x,int y,int z) {     int p = 0;     if(x>y)     {          p=x;     }     else      {         p=y;     }          if(p>z)     {          return p;     }     else      {          return z;     } }

噼喱啪啦

scanf 里%d,%d之间有逗号,输入数据要跟着输入逗号,如果你此时输入的数据用空格隔开,就会出现你这种问题。 建议看下C语言入门里面的格式化输入这一单元。
随时随地看视频慕课网APP
我要回答