结构体 这样运行不了

atinysix 2012-12-16 02:25:25
#include <stdio.h>
typedef struct info{
int num;
int age;
char *clock;
}info;
typedef struct good{
info b[3];
}good;
void main()
{
good a;
a.b[0]={1,1,"9:00"};
printf("%d\n%d\n%s\n",a.b[0].num,a.b[0].age,a.b[0].clock);
}
为什么不能运行,错误不会改啊!!!
...全文
258 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
atinysix 2012-12-20
  • 打赏
  • 举报
回复
void main() { good a = {{1,1,"9:00"}}; a.b[0]={1,1,"9:00"}; printf("%d\n%d\n%s\n",a.b[0].num,a.b[0].age,a.b[0].clock); }
赵4老师 2012-12-18
  • 打赏
  • 举报
回复
“变量赋值”和“变量初始化”不是一回事! “变量赋值”发生在运行期,其写法遵循赋值语法规定。 “变量初始化”发生在编译期或运行期,其写法遵循初始化列表语法规定。
atinysix 2012-12-18
  • 打赏
  • 举报
回复
引用 7 楼 zhcosin 的回复:
引用 5 楼 Soiol 的回复:你们这是什么软件,给我个吧,还有上面的我懂了,谢谢你们了 不是什么软件,把你的代码放在 C/C++ code?1与之间就可以了
不懂你说的啊啊
wizard_tiger 2012-12-17
  • 打赏
  • 举报
回复

void main()
{
good a;
a.b[0]={1,1,"9:00"};//这个只能在初始化时才能这样赋值。
printf("%d\n%d\n%s\n",a.b[0].num,a.b[0].age,a.b[0].clock);
}
sundq12 2012-12-17
  • 打赏
  • 举报
回复
引用 9 楼 nadleeh123 的回复:
引用 3 楼 zhuyf87 的回复:C/C++ code ? 12 good a; a.b[0] = { 1, 1, "9:00" }; { ... }这种赋值方式,只能在初始化时进行。 C/C++ code ? 1 good a = { {1, 1, "9:00"} }; +1
+1
nadleeh 2012-12-17
  • 打赏
  • 举报
回复
引用 3 楼 zhuyf87 的回复:
C/C++ code ? 12 good a; a.b[0] = { 1, 1, "9:00" }; { ... }这种赋值方式,只能在初始化时进行。 C/C++ code ? 1 good a = { {1, 1, "9:00"} };
+1
AnYidan 2012-12-16
  • 打赏
  • 举报
回复
a.b[0].num = 1; a.b[0].age = 1; a.b[0].clock = "9:00";
zhcosin 2012-12-16
  • 打赏
  • 举报
回复
引用 5 楼 Soiol 的回复:
你们这是什么软件,给我个吧,还有上面的我懂了,谢谢你们了
不是什么软件,把你的代码放在
之间就可以了
Zoelov 2012-12-16
  • 打赏
  • 举报
回复
一个一个的去赋值
atinysix 2012-12-16
  • 打赏
  • 举报
回复
你们这是什么软件,给我个吧,还有上面的我懂了,谢谢你们了
gaochizhen33 2012-12-16
  • 打赏
  • 举报
回复

//结构体声明后,对结构体是不能再进行初始化的。只能一个一个赋值
good a;
a.b[0].num = 1;
a.b[0].age = 2;
a.b[0].clock = "9:00";

//或是这样,在声明的时候进行初始化
good a = {{1,1,"9:00"}};
zhuyf87 2012-12-16
  • 打赏
  • 举报
回复
good a;
a.b[0] = { 1, 1, "9:00" };
{ ... }这种赋值方式,只能在初始化时进行。
good a = { {1, 1, "9:00"} };
东大坡居士 2012-12-16
  • 打赏
  • 举报
回复

void main()
{
  good a = {{1,1,"9:00"}};
  //a.b[0]={1,1,"9:00"};
  printf("%d\n%d\n%s\n",a.b[0].num,a.b[0].age,a.b[0].clock);
}
petpwiuta 2012-12-16
  • 打赏
  • 举报
回复
#include <stdio.h>
typedef struct info{
int num;
int age;
char *clock;
}info;
typedef struct good{
info b[3];
}good;
void main()
{
good a;
info temp={1,1,"9:00"};
a.b[0]=temp;
//a.b[0]={1,1,"9:00"};
printf("%d\n%d\n%s\n",a.b[0].num,a.b[0].age,a.b[0].clock);
}
 



70,037

社区成员

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

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