本帖最后由 hx小龙 于 2014-6-18 00:20 编辑
#include <stdio.h>
void main()
{
int a,b,*p,*q;
p = &a;
q = &b;
scanf("%d,%d \n",p,q);
printf("%d \n",*p>*q?a:b);
}
程序代码如上,伤心死了。这么简单的一个小程序都敲错了。关键是都不知错在哪,程序的要求是从键盘接收两个数,并用指针形式输出最大的那个数,我觉着我写的没错啊,但是输出的确是最小的,而且如果把条件运算符的a和b互换了,却是内存乱码!求大家解答
感觉16楼的答案挺正确的,尤其是这句话。。。。。.scanf中除了匹配符以外的字符要全部严格匹配接收。
|