请问.我的程序为什么不能运行?
#include <stdio.h>
void tryit (int * a)
{
printf("%d",a);
}
void main()
{
int *a;
*a=3;
tryit(a);
}
这个程序编译后没有错误,但一运行就说什么内存不能读什么的,请问各位大虾这是怎么回事?
#include <stdio.h>
void tryit (int * a)
{
printf("%d",a);
}
void main()
{
int *a;
*a=3;
tryit(a);
}
这个程序编译后没有错误,但一运行就说什么内存不能读什么的,请问各位大虾这是怎么回事?
?他的书写有问题么?
他的程序在我这能正常运行啊!
斑竹!是不是该让这小子禁言拉!
那要是让你改怎么改?
#include <stdio.h>
void tryit (int * a)
{
printf("%d",a);
}
void main()
{
int *a;
*a=3;
tryit(a);
}
这个程序编译后没有错误,但一运行就说什么内存不能读什么的,请问各位大虾这是怎么回事?
int a=3;
tryit(&a);
or
int b,*a=&b;
*a=3;
int a=3;
tryit(&a);
or
int b,*a=&b;
*a=3;
你的是VC么?
好象WIN TC 和TC都不用!
在编译的时候会自动为地址a解决居住问题!
是吗?您那样*a指向的地址是不确定的,并不是自动为地址a解决居住问题,而是恰好这个地址是闲置的,让您正好可以运行成功而不使系统崩溃.
标准C明确规定要先把指针指向确定的空间。