标题:此程序是什么错误?
取消只看楼主
hanyy666
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-12-14
 问题点数:0 回复次数:0 
此程序是什么错误?
程序如下:
main()
{
int *p1,*p2,*P,a,b;
scanf("%d,%d",&a,&b);
p1=&a;p2=&b;
if(a<b)
{p=p1;p1=p2;p2=p;}
printf("\na=%d,b=%d\n\n",a,b);
printf("max=%d,min=%d\n",*p1,*p2);
}
此程序语法无错误,如果运行时输入:3,9
则输出:a=3,b=9
max=9,min=3
如果运行时输入:7
则输出:a=7,b=28990
max=28990,min=7
程序运行时并不提示错误, b 的数值如何来的呢?为什么会这样呢?
又一个问题:如果在程序中加入输出变量地址语句:Printf("%d",&a);
为什么会输出一个负值: - 42 其中负号代表什么意义

不知哪位高手能解答我的问题?

谢谢了!


2006-02-05 03:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-44477-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.555391 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved