| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 542 人关注过本帖
标题:帮忙解答下这个程序结果为什么说abcbcc?
只看楼主 加入收藏
iqyuankong
Rank: 2
等 级:论坛游民
帖 子:68
专家分:10
注 册:2009-10-23
结帖率:92.86%
收藏
已结贴  问题点数:20 回复次数:5 
帮忙解答下这个程序结果为什么说abcbcc?
#include<stdio.h>
main()
{
    char ch[]="abc",x[3][4];
    int i;
    for(i=0;i<3;i++)
        strcpy(x[i],ch);  /* ch不是表示"abc"吗?那怎么复制到元素x[i]  */
    for(i=0;i<3;i++)
        printf("%s",&x[i][i]);
    printf("\n");
}
搜索更多相关主题的帖子: abcbcc 解答 结果 
2010-01-04 19:49
指手画脚
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:334
专家分:560
注 册:2009-12-28
收藏
得分:20 
程序代码:
#include <stdio.h>
#include <string.h>
main()
{
    char ch[]="abc",x[3][4];
    int i = 0;
    int j = 0;
    int nLen = -1;
    for(i=0;i<3;i++)
    {
        nLen = strlen(ch);
        for (j=0; j<nLen; j++)
        {
            x[i][j] = ch[j];
        }
        x[i][j] = '\0';
    }
    for(i=0;i<3;i++)
        printf("x[%d][%d] : %s\n", i, i, &x[i][i]);
    printf("\n");
} 
程序改成这样你看你能不能懂

世界很简单 是非很复杂
有些东西是你的 但是你质疑的多了 可能就不是你的了
2010-01-04 20:04
flylee
Rank: 5Rank: 5
等 级:职业侠客
帖 子:309
专家分:374
注 册:2004-8-10
收藏
得分:0 
x[0]、x[1]和x[2]中保存的都是"abc"
把for拆成3条语句,等价于
printf("x[%d][%d] : %s\n", 0, 0, &x[0][0]);    //abc
printf("x[%d][%d] : %s\n", 1, 1, &x[1][1]);    //bc
printf("x[%d][%d] : %s\n", 2, 2, &x[2][2]);    //c
2010-01-04 20:11
iqyuankong
Rank: 2
等 级:论坛游民
帖 子:68
专家分:10
注 册:2009-10-23
收藏
得分:0 
我弄明白了,我把看成一维数组了,,2维数组可以看成是特殊的一维数组x[0],x[1],x[2]是三个字符串的首地址。
2010-01-04 20:23
nbyyxjhqq
Rank: 1
等 级:新手上路
帖 子:6
专家分:6
注 册:2010-1-4
收藏
得分:0 
学习了~
2010-01-04 22:14
nbyyxjhqq
Rank: 1
等 级:新手上路
帖 子:6
专家分:6
注 册:2010-1-4
收藏
得分:0 
那应该如何在原程序的基础上改一下啊?
2010-01-04 22:21
快速回复:帮忙解答下这个程序结果为什么说abcbcc?
数据加载中...
 
   



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

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