求大佬解答。为啥输入负数的时候就不对了。比如-25,6,58,。输出最大的数字却是-25.

#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);

c=max(a,b,c);

printf("较大的数字是%d\n",c);

return 0;

}

int max(int x,int y,int z)

{

int e;

if(x>y && x>=z)e=x;

else if(y>x && y>=z)e=y;

else e=z;

return(e);

}


weixin_慕慕5094496
浏览 912回答 3
3回答

慕设计2395807

ODCMGNKQZZPKUAOOMDPYFUPCFMYLWADDTPPYBEOGZTJWMMMTPNKAMWFXQWZSVLVYTTTCLVFIOBCCBDJPDDGMMVFIJJLSVLKHEZCYXGRXNNHUUDZZSTTPFZIBHILSFOSZTPYILVIISCSFOSZGJQNZTPVLLUUYEYBDQJJZIRQZTQQWNZZIVYHATTLYHRKMFOYEUZCEONZKTCPJCYOODYLKHKKDMWYBHJJTWWPSMCFGQQWCCGEKKDUXWCFFQKRRDINLFPZSYYEUFOBEITDXTDDWZLFUOUHHREXDDDZCWSMEKGFUTPGQKJDNKDXGQQTZZDSADMCPLIOOIURKQGMSJNUKEMIYBLBRGCSCJMCPPWITGJZUCBPWWPWZPIQWLFICVSSOOOHGQTJGGDMPIUYGRXNKKQQIVPKRXQMWBBTPFWTXNPZZHBKKQGBHXEXGSIRDTQWZJZGKDSMPCCICLTITJJFWDWWGMYBTKNQGANNGXUGHKKQGPMMGWVLIBIBVEEYUTNJPGZMVMLUWPJVLEUXXVZDNWTVVMLLLEBUHPEUNXNRXGWPPSVNNJZAQQTZVYSYICOHHUADCMMCFYYEUXXQSBBFIRBETTGABLKJMVYMTDOIBLBAGWMMGTMRHAZWXKGGXTDRXARAAZGPZFNZPPBYCYOGJHANXLSCTQIRBUXDQDTWJMCJFBMVLHKAJARNBRHYHKADZYODTWZVSBXADXNJSKIRHXZNWSUQZPYBEUWFGDZPEBKAWKTBEHEUJMJZSHXNDGKTWZVIXOKNJMCFBXAXGDAQSBLODVWEUKGILUXHIENJMWAQFVEAJSIENWGCFBTBQGQMIYOXABXTWLBIEHRAIETXHWGCZCEHHKXXXNGTHROCLVLNWADGI

阴影的学徒

我测试了一下,你的代码逻辑是正确的为什么错呢,应该就是因为你输入的逗号是在中文状态下输入的逗号,你在scanf中输入的是英文下的逗号,实际在控制台输入的时候也要输入英文状态下的逗号这是一个小错误,下次一定要注意不要再犯另外在推荐一种输入的方式就是直接%d%d%d,中间不留空格,这样你输入的时候,就只要在每个数之间加上空格就OK了scanf("%d%d%d", &a, &b, &c);例子如下(还是你的代码)
打开App,查看更多内容
随时随地看视频慕课网APP