c语言 gets() 意思??

来源:百度知道 编辑:UC知道 时间:2024/05/18 04:00:48
#include <stdio.h>
main()
{
union
{
int k;
char i[2];
}*s,a;
s=&a;
s->i[0]=0x39;s->i[1]=0x38;
printf("%x\n",s->k);
}
能不能帮我 解释下 union 什么意思
输出什么 ?

union 联合体
union是一种特殊的类别,使用关键字union来定义,union维护足够的空间来置放多个资料成员中的“一种”,而不是为每一个资料成员配置空间,在union中所有的资料成员共用一个空间,同时间只能储存其中一个成员的资料,一个union只配置一个足够大的空间以来容纳最大长度的资料成员,此题目为int的长度
vc编译此题目的结果是:
cccc3839
tc编译此题目的结果是:
3839

连接的意思吧 运行下看看 gets() 输入的意思

union
{
int k;
char i[2];
}*s,a;
是共用体,后面的章节会用到。以上是一个完整的联合体。
共用体:含义不同于结构体。就是共用一段内存。楼主可以与结构体比较着看。

gets()是字符串输入命令。那个指令原先在“string.h”里。不过stdio.h也有涉及。

楼上的:不懂就不要误导人,谢谢~~

后来改了答案,一开始也写错了,写成结构体。不过要回答就要对每一个负责,呵呵。建议楼主去下载一个谭浩强版的C语言教程,或者买一个(第三版,绿皮的)那样有利于学习C语言。

绝对顶楼上的
2楼的不懂少在这骗分
还有谭浩强版的C语言教程绝对是 C语言初学者的极品