为什么输入4 5之后结果是a=4,b=554?????

[复制链接]
查看11 | 回复4 | 2012-6-6 09:16:43 | 显示全部楼层 |阅读模式
首先if语句内的操作不改变a,b的值,所以a4,b5,然后,if内的操作其实就是对p1,p2进行数值交换,引入了中间变量p而已,所以p15,p24,然后你在输完b之后没有加东西来区分,所以就连载一起输出了554,懂了么...
回复

使用道具 举报

千问 | 2012-6-6 09:16:43 | 显示全部楼层
你输出时有点问题,改为:printf("a=%d,b=%d\n",a,b);printf("*p1=%d,*p2=%d\n",*p1,*p2);...
回复

使用道具 举报

千问 | 2012-6-6 09:16:43 | 显示全部楼层
是你没有打空格去把他们分开:#includevoid main(){int *p1,*p2,*p,a,b;printf("input two numbers:");scanf("%d%d",&a,&b);p1=&a;p2=&b;if(a<b){p=p1;p1=p2;p2...
回复

使用道具 举报

千问 | 2012-6-6 09:16:43 | 显示全部楼层
结果没有错误 只是printf("a=%d,b=%d",a,b);没有换行 跟printf("%d%d\n",*p1,*p2);的输出结果连一块了...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行