这段代码为什么会报错?
练手小程序, 功能很简单,就是输入两个整数,判断大小,然后把大的输出. 用的C-Free编辑,C-Free默认的编译器是Min-GW.在XPsp3下编译运行出错. 输入1,2的时候报错, 输入2,1的时候没问题. 是不是指针那部分有问题还是说是XP系统的问题?搞不懂.
#include "stdio.h"
int main()
{
int a,b;
int *pl1,*pl2;
int temp;
pl1=&a;
pl2=&b;
printf("Please input two numbers:\n");
scanf("%d,%d",&a,&b);
if(a<b){
pl1=&a;
pl2=&b;
swap(*pl1,*pl2);
printf("The biger number is %d.\n",b);
}else{
printf("The biger number is %d.\n",a);
}
}
swap(int *p1,int *p2)
{
int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}