这个程序怎么不能运行???

来源:百度知道 编辑:UC知道 时间:2024/06/14 17:16:10
谭浩强的<<C程序设计>>(第三版)272页的例10.28,我运行程序的时候提示有错,我是完全按书上写下来的啊,谁帮我看下错在哪了.
#include <stdio.h>
void main()
{
int a[5]={1,3,5,7,9};
int *num[5]={&a[0],&a[1],&a[2],&a[3],&a[4]};
int **p,i;
p=num;
for(i=0;i<5;i++)
{
printf("%d ",**p);
p++;
}
printf("\n");
}
我晕哦 ,我TC2和TC3都用了,都提示有5个错误,在第5行
提示是:Illegal initiallization
编译器运行其他程序的时候都是对的,没出过什么问题.
我用了TC2.0和TC++3.0两个编译器来运行,都是这样报错的,应该不是我编译器的问题.
你们用的是什么编译器哦,都是VC啊??????

至于编译器,这个是我给回复别人的,你可以看看,我很不推荐使用TC的,如果你之前用TC,那么就转到VC6.0把,虽然二者对标准支持都不好,但VC6.0可能更好点把

http://zhidao.baidu.com/question/53297700.html

刚看了你的补充,错误信息是,int类型初始化,你试着把i初始化为0看看,不过应该很多不是这些原因的

运行了下这个程序,得出的结论是,没错把
那么,如果程序没错,而在你的电脑上不能运行
只能首先确定和程序无关了,不能运行需进一步锁定
到你的编译器上了,所以你得看看你的编译器是不是有问题
如果闲某些编译器太大,你就下个TC,很小的,也不大,然后试着运行
下这个程序,来进一步确定是你的编译器的问题

#include <stdio.h>
void main()
{
int a[5]={1,3,5,7,9};
int *num[5]={&a[0],&a[1],&a[2],&a[3],&a[4]};
int **p,i;
p=num;
for(i=0;i<5;i++)
{
printf("%d ",**p);
p++;
}
printf("\n");
}

没有错啊,输出1 3 5 7 9
还真有人用tc啊,vc不是比较流行吗

可以运行
结果1 3 5 7 9
可能是你的软件出了毛病吧

你知道你编的是什么吗?
我是看不懂,指针有的太多了吧,这样不安全的

程序是没有问题的,可能是你的编译器有问题吧

**p是指指针的指针,他应该不是字符型吧,我要下了,有