为什么这样会报错

meteora112 2008-04-14 08:46:34

main()
{
struct part{
int number; // 零件的编号
char name [NAME_LEN+1]; // 零件的名称
int on_hand; // 现有数量
}part1 = {528, "Disk drive", 10};
printf_part(part1);

return 0;
}

void print_part (struct part p)
{
printf("part number : %d\n", p.number);
printf("part name: %s\n", p.name);
printf("Quantity on hand: %d\n", p.on_hand);
}
为什么???
...全文
75 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
abupie 2008-04-14
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <stdlib.h>

#define NAME_LEN 32

struct part{
int number; // Áã¼þµÄ±àºÅ
char name [NAME_LEN+1]; // Áã¼þµÄÃû³Æ
int on_hand; // ÏÖÓÐÊýÁ¿
}part1 = {528, "Disk drive", 10};

void printf_part(struct part p)
{
printf("part number : %d\n", p.number);
printf("part name: %s\n", p.name);
printf("Quantity on hand: %d\n", p.on_hand);
}

int main()
{
printf_part(part1);

return 0;
}
错误太多了,直接改了
meteora112 2008-04-14
  • 打赏
  • 举报
回复
test1.c:5: 警告: ‘struct part’ 在形参表内部声明
test1.c:5: 警告: 它的作用域仅限于此定义或声明,这可能并不是您想要的
test1.c:17: 警告: ‘struct part’ 在形参表内部声明
test1.c:17: 错误: 形参 1 (‘p’) 的类型不完全
c_spark 2008-04-14
  • 打赏
  • 举报
回复
局部函数中声明的有效范围在函数内部
你在另一个函数中print_part(struct part p)使用了struct part ,这时能会报错struct part没有定义
Leejun527 2008-04-14
  • 打赏
  • 举报
回复
报啥错?
langhua0001 2008-04-14
  • 打赏
  • 举报
回复
好好看看书吧

基础的东西必须好好看
meteora112 2008-04-14
  • 打赏
  • 举报
回复
void print_part (struct part p) ;
我已经声明了。

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧