在devc++里面正常运行,但在在VC++6.0里面报错。真的是崩溃了
这个问题,不是代码问题,是VC++6.0编译器版本问题,把两个指针变量*p1 *p2 定义语句移动到函数开始的地方,就可以解决问题,如下,供参考:
#include <stdio.h>
void swap(int *pt1, int *pt2)
{
int temp;
temp = *pt1;
*pt1 = *pt2;
*pt2 = temp;
}
void main()
{
int a, b, *p1, *p2; // 将*p1 *p2定义在代码开始处
scanf("%d%d", &a, &b);
p1 = &a;
p2 = &b;
swap(p1,p2);
printf("%d,%d", a, b);
}
何必多取一举呢,p1和p2可以不要的嘛,直接代入,,
如果要试试修改成这样
int * const p1=&a, * const p2=&b;
同时自定义函数swap的参数也修改成类似的形式
由于未提供具体的错误信息和代码,无法给出具体的解决方案。建议先检查代码和编译器的兼容性、语法错误和依赖库等方面,同时可以尝试使用不同的编译器和设置进行编译,以找出问题出现的原因。