如题。。。有哪位高人知道这是怎么回事吗?如果需要更多的信息还请留言。。。我再补充哈
#include<stdio.h>
void main()
{
int max(int x,int y);
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
}
int max(int x,int y)
{
int z;
if (x>y) z=x;
else z=y;
return(z);
}
这个是代码,就是书上的代码。。但是运行是我输入了1 2 ,结果确是1
我现在只能想到应该是不能识别大于号小于号。。。不知道是不是还在其它地方出了什么问题
VISUAL C++不识别大于号
答案:3 悬赏:70 手机版
解决时间 2021-04-04 22:32
- 提问者网友:未信
- 2021-04-04 18:47
最佳答案
- 五星知识达人网友:舍身薄凉客
- 2021-04-04 20:19
代码贴出来
初步判断你的大于号可能是全角了,输入时注意切换成半角
我的补充:
看了你的代码,代码没有问题,注意输入的格式一定要和scanf("%d,%d",&a,&b);
内的格式严格一致,输入格式内带有逗号,那么你的输入就要用逗号分割,你可以调试一下看看,你输入1 2 后,b并没有被赋值它保留了原始值(0xcccccccc),换算后是一个负值,1和负值比较当然是1大了.
修改意见:
将scanf("%d,%d",&a,&b);改成 scanf("%d %d",&a,&b);再试试吧
初步判断你的大于号可能是全角了,输入时注意切换成半角
我的补充:
看了你的代码,代码没有问题,注意输入的格式一定要和scanf("%d,%d",&a,&b);
内的格式严格一致,输入格式内带有逗号,那么你的输入就要用逗号分割,你可以调试一下看看,你输入1 2 后,b并没有被赋值它保留了原始值(0xcccccccc),换算后是一个负值,1和负值比较当然是1大了.
修改意见:
将scanf("%d,%d",&a,&b);改成 scanf("%d %d",&a,&b);再试试吧
全部回答
- 1楼网友:人類模型
- 2021-04-04 21:52
程序没有错误。可以执行,跟大于号没关系
由于你scanf("%d,%d",&a,&b);所以你输入时格式也要一样的
输入:1,2(回车) 逗号符号都是半角字符。跟你scanf里要一样
- 2楼网友:持酒劝斜阳
- 2021-04-04 21:05
不是windows7不识别,估计是你的代码或者你的编译器版本存在问题。
我使用的是windows7 x64旗舰版,开发工具visual c++9.0中文版,半年了,一直很稳定。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯