| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1363 人关注过本帖
标题:c语言中有关结构体和指针 的两到题 希望有人帮帮我
只看楼主 加入收藏
suabcsu
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-1-25
结帖率:0
收藏
 问题点数:0 回复次数:16 
c语言中有关结构体和指针 的两到题 希望有人帮帮我
main()
{
    struct PRG
    {
        int c ;
        union
        {
            charst[6];int i; long int j ;
        }test;
    };
    printf("%d",sizeof(struct PRG));
}
  答案    8
#include<string.h>
main()
{
    char*p1,*p2,str[50]="ADCDEFG"
p1="abcd";
p2="efgh"
strcpy(str+1,p2+1);
strcpy(str+3,p1+3);
printf("%s",str);
}
答案为Afgd。
希望过程能详细点 谢谢
搜索更多相关主题的帖子: 希望 c语言 结构体 
2013-03-11 19:43
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
考试考对了这种题的人都不能要

授人以渔,不授人以鱼。
2013-03-11 19:48
lj120122
Rank: 1
等 级:新手上路
帖 子:23
专家分:8
注 册:2012-11-26
收藏
得分:0 
第一道题:阅读程序可得该题是要求整个结构体所占的字节数:1、i为整型,占两个字节。2共用体的的定义是其中的变量共用一段内存,当其中变量类型不同时,选占用字节数最多的。stu【6】为字符数组,每个元素占用一个字节,故为六个字节!  所以总共是八个字节,也就是答案为八!
第二道题: 这是一个指针与数组的地址运算题,第一个函数说的是把数组第二个字符开始以后的三个字符换成fgh\0(注意:后面的结束符也一并被复制进去), 于是是Afgh\0FG,第二个函数是把从第四个字符开始的d\0复制到第四个字符开始的数组中,于是数组为Afgd\0FG。所以输出来的时候为Afgd(遇到\0就结束)!

[ 本帖最后由 lj120122 于 2013-3-11 20:32 编辑 ]
2013-03-11 20:31
yzz91
Rank: 2
等 级:论坛游民
帖 子:19
专家分:12
注 册:2012-11-13
收藏
得分:0 
3楼碉堡!!!投3楼一票。。
2013-03-11 22:41
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:0 
以下是引用lj120122在2013-3-11 20:31:37的发言:

第一道题:阅读程序可得该题是要求整个结构体所占的字节数:1、i为整型,占两个字节。2共用体的的定义是其中的变量共用一段内存,当其中变量类型不同时,选占用字节数最多的。stu【6】为字符数组,每个元素占用一个字节,故为六个字节!  所以总共是八个字节,也就是答案为八!
第二道题: 这是一个指针与数组的地址运算题,第一个函数说的是把数组第二个字符开始以后的三个字符换成fgh\0(注意:后面的结束符也一并被复制进去), 于是是Afgh\0FG,第二个函数是把从第四个字符开始的d\0复制到第四个字符开始的数组中,于是数组为Afgd\0FG。所以输出来的时候为Afgd(遇到\0就结束)!
好好研究下

Maybe
2013-03-11 22:44
iceberg0
Rank: 1
等 级:新手上路
帖 子:37
专家分:9
注 册:2012-3-2
收藏
得分:0 
第一题需要内存对齐,按4字节对齐,char st[6]每个元素1个字节,补充2个字节,8个字节,联合共用内存,按最大分配存储空间
第二题第一句复制fgh覆盖DCD,‘\0’覆盖了E,第二句复制d覆盖了h,'\0'覆盖了前面的'\0',输出遇到'\0'结束
2013-03-11 22:47
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你们告诉我int是多少字节?先查查资料再说答案应是多少。

授人以渔,不授人以鱼。
2013-03-12 00:43
zhangfudong
Rank: 4
等 级:业余侠客
帖 子:119
专家分:212
注 册:2012-12-12
收藏
得分:0 
我的是有符号int正数取值是2147483647,int取值范围应该和编译器相关。我是菜鸟,不知道对不对?
2013-03-12 08:04
a77232923
Rank: 1
等 级:新手上路
帖 子:11
专家分:9
注 册:2011-5-21
收藏
得分:0 
三楼真心强大
2013-03-12 08:06
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
以下是引用TonyDeng在2013-3-12 00:43:32的发言:

你们告诉我int是多少字节?先查查资料再说答案应是多少。

我也一直在纠结...int就占了4位,下面那个联合体至少也有6位,怎么可能是8????

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-03-12 08:32
快速回复:c语言中有关结构体和指针 的两到题 希望有人帮帮我
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032857 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved