注册 登录
编程论坛 新人交流区

谁能解释,这个简单的题目为什么是错的??????

blosaa 发布于 2007-10-20 10:12, 340 次点击
#include "stdio.h"

main()
{
int a=2,b=5,*p;
*p=a;
a=b;
b=*p;
printf("a=%d,b=%d\n",a,b);


}

为什么错???
4 回复
#2
回声2007-10-20 10:38

我觉得应该是变量声明的问题,上面你已经声明了a,b都是整型常量,不可改变,通过*p想得到a=b的结果,这显然是不等的,2能等于5么? ( *p=a;a=b;b=*p;)这一步就是错的啊,我想应该不是书写错误而是逻辑错误。我也是才学的新人,如果回答的全然不对不要笑我。

我才开始学的,才到数据结构,还没开始学指针```````

[此贴子已经被作者于2007-10-20 10:55:29编辑过]

#3
baby662007-10-20 10:45
这个错误:
指针*p=&x?
#4
chenhe2007-10-20 10:52

#include<stdio.h>

main()
{
int a=2,b=5,*p;
p=&a;
a=b;
b=*p;
printf("a=%d,b=%d\n",a,b);
return 0;


}

#5
蓝莲之鸟2007-10-20 11:31

首先指针是不能做中间变量的,容易出错
*p=a; 将a的地址给p
a=b;
b=*p; 再将p赋给b就会出错!

1