QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2026|回复: 24

为什么gcc编译c程序函数不能用void哪?

[复制链接]
发表于 2004-6-10 16:27:31 | 显示全部楼层 |阅读模式
我是个新手,最近刚刚包着熟悉的态度用gcc编译个小程序,可是为什么定义的void类型的函数都不能用哪?说不能用void类型的,必须要改成其他型的,然后返回个没有的值才行。
我编译的时候用的是gcc -o 23 23.c  是我用的参数的问题吗?
发表于 2004-6-10 16:31:57 | 显示全部楼层
错误信息是什么啊?
回复

使用道具 举报

 楼主| 发表于 2004-6-10 17:07:28 | 显示全部楼层
等等,是说main函数不时int型的
t.c:35: warning: return type of `main' is not `int'

是不是linux下的c编成规定main函数必须是int型的哪?
回复

使用道具 举报

发表于 2004-6-10 17:23:25 | 显示全部楼层
是啊,main应该返回int。
回复

使用道具 举报

 楼主| 发表于 2004-6-10 17:24:56 | 显示全部楼层
这样阿,为什么我写的东西一运行总是提示段错误那?
回复

使用道具 举报

发表于 2004-6-10 17:28:32 | 显示全部楼层
是骡子是马拿出来溜溜
回复

使用道具 举报

 楼主| 发表于 2004-6-10 17:40:05 | 显示全部楼层
我刚学数据结构,可能这里有什么闹笑话的地方,不要狠批我啊
typedef struct jied{
  struct jied *right;
  struct jied *left;
  int data;
}Tree;
typedef Tree *pint;
void creat(pint *t,int *num)
{
  *num=*num+1;
  pint x;
  int dat;
  printf("please you put the data:");
  scanf("%d",dat);
  if (dat==0) return;
  x=(pint)malloc(sizeof(Tree));
  if (!x) printf("malloc error!");
  x->data=dat;
  x->left=0;
  x->right=0;
  t=x;
  printf("     The %d dian address is:  %o  ,the data is %d ,the lchild is  %o  ,the  rchild is  %o",x,x->data,x->left,x->right);
  creat(&x->left,num);   /* lchild */
  creat(&x->right,num);   /* rchild */
  return;
}
void vis_a(pint t)
{
  if (t->data=0) return;
  printf("the jiedian adress is %o,data is %d, lchild is %o,rchild is %o ",t,t->data,t->left,t->right);
  vis_a(t->left);
  vis_a(t->right);
  return;
}
int main()
{
  pint head;
  int *num;
  creat(&head,num);
  vis_a(head);
  return 0;
}
回复

使用道具 举报

发表于 2004-6-10 18:07:07 | 显示全部楼层
你用 gcc -Wall 编译看看,可以发现更多的问题。另,找不出原因的话,说说你的程序的基本结构和目的吧。
回复

使用道具 举报

发表于 2004-6-10 18:27:16 | 显示全部楼层
void creat(pint **t,int *num)
{
.......
*t=x;
}
main()
{
pint *head;
....
creat(&head,num);
vis_a(**head);
}
回复

使用道具 举报

发表于 2004-6-10 18:28:28 | 显示全部楼层
加了一级指针,可能还有地方要相应变动,自己找找
回复

使用道具 举报

 楼主| 发表于 2004-6-10 18:37:50 | 显示全部楼层
好的  我试试看
回复

使用道具 举报

 楼主| 发表于 2004-6-10 18:47:59 | 显示全部楼层
我这里有这句啊,算是加了一级指针啊
typedef Tree *pint;
回复

使用道具 举报

发表于 2004-6-10 18:50:59 | 显示全部楼层
噢,没注意看,那就不用再加一级了。恢复原样
回复

使用道具 举报

发表于 2004-6-10 18:52:31 | 显示全部楼层
t=&x试试
回复

使用道具 举报

发表于 2004-6-10 18:54:24 | 显示全部楼层
还有你的left和right好像没分配内存
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-8 06:06 , Processed in 0.080357 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表