标题:一个c程序报错,求大神解释。。
只看楼主
zhaogay
Rank: 7Rank: 7Rank: 7
来 自:宫
等 级:黑侠
帖 子:151
专家分:586
注 册:2013-10-10
结帖率:100%
已结贴  问题点数:20 回复次数:4 
一个c程序报错,求大神解释。。
#include <stdio.h>
#include <string.h>
struct stmp {
    int len;
    char s[44];
};
struct sock {
    struct stmp stmp;
#define len stmp.len
#define s stmp.s
};
int main() {
  struct sock sock;
  struct stmp tmp={1,"hello"};//此处可以
  //tmp.len = 1;①
  //strcpy(tmp.s, "hello");②
  memcpy(&sock, &tmp, sizeof(tmp));
  printf("len[%d] s[%s]\n", sock.len, sock.s);
  return 0;
}

为什么①和②会报错,求大神解释。
搜索更多相关主题的帖子: include return hello c程序 
2013-10-17 23:58
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
得分:20 
#define len stmp.len
#define s stmp.s
为啥要搞这两个宏?

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2013-10-18 06:36
zhaogay
Rank: 7Rank: 7Rank: 7
来 自:宫
等 级:黑侠
帖 子:151
专家分:586
注 册:2013-10-10
得分:0 
回复 2楼 pauljames
问题已找到,谢谢。

好好学习,天天想上
2013-10-18 08:00
sad涛涛
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2013-10-10
得分:0 
回复 3楼 zhaogay
可以告诉我问题在哪里吗
2013-10-18 13:47
zhaogay
Rank: 7Rank: 7Rank: 7
来 自:宫
等 级:黑侠
帖 子:151
专家分:586
注 册:2013-10-10
得分:0 
回复 4楼 sad涛涛
tmp.len被扩展成tmp.stmp.len.所以有问题。

好好学习,天天想上
2013-10-18 14:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-422090-1-1.html




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

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