| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 513 人关注过本帖
标题:求教:请大家看看这种问题怎么解决
只看楼主 加入收藏
flybywind
Rank: 2
等 级:论坛游民
帖 子:12
专家分:32
注 册:2009-9-2
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:3 
求教:请大家看看这种问题怎么解决
程序代码:
#include <stdio.h>


struct s1 
{ 
    char *s; 
    int i; 
    struct s1 *sip; 
}; 

int main () 
{ 
    struct s1 a[]={{"abcd",1,a+1},{"efgh",2,a+2},{"ijkl",3,a}};/*注释*/ 
    struct s1 *p=a; 
    int i=0; 
    printf("%s %s %s\n",a[0].s,p->s,a[2].sip->s); 
    printf("\n%d %d\n",i+2,--a[i].i); 
    a[i].s[3]++;//写入位置 0x0041576f 时发生访问冲突
    printf("\n%c\n",a[i].s[3]); 
    return 0;
} 
代码如上,编译通过,但是运行时就提示“写入位置 0x0041576f 时发生访问冲突”。请高手指教
搜索更多相关主题的帖子: include return 
2009-09-20 14:54
LEED
Rank: 2
等 级:论坛游民
帖 子:75
专家分:43
注 册:2009-8-26
收藏
得分:6 
我看不懂啊。。我运行了一下
 struct s1 a[]={{"abcd",1,a+1},{"efgh",2,a+2},{"ijkl",3,a}};/*注释*/  
这一行有错。。好像是初始值不合法。。
2009-09-20 15:23
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:6 
我也是啊。说是主函数的初始化有错误。编译不能通过。结构体s1里除了定义*s和i外,是不是还有个参量对应a[]的第三个量啊。
2009-09-20 15:26
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
收藏
得分:6 
"abcd"
"efgh"
"ijkl"
都在常量区

a[i].s[3]++;修改是非法的
2009-09-20 16:28
快速回复:求教:请大家看看这种问题怎么解决
数据加载中...
 
   



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

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