| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 996 人关注过本帖
标题:字符数组的问题
只看楼主 加入收藏
sunshiqiang
Rank: 2
等 级:论坛游民
帖 子:14
专家分:16
注 册:2014-1-5
结帖率:100%
收藏
已结贴  问题点数:18 回复次数:7 
字符数组的问题
程序如下,特别简单
程序代码:
#include <stdio.h>
int main()
{
        char a[2][2] = {"ab","cd"};
        char b[3][4] = {"ab","cde","fghj"};
        printf("%c\n",a[1][1]);
        printf("%s\n",a[0]);
        printf("%s\n",a[1]);
        printf("******************\n");
        printf("%c\n",b[1][1]);
        printf("%s\n",b[0]);
        printf("%s\n",b[1]);
        printf("%s\n",b[2]);
        return 0;
}


输出结果如下:
d
abcdab
cdab
******************
d
ab
cde
fghj
请问直接用%s输出字符数组 这种格式正确吗? 它是代表输出一行吗? 为什么a数组的输出跟理想输出不同呢?
谢谢
搜索更多相关主题的帖子: color 
2016-01-25 11:15
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:18 
百度下c字符串,很基础了,直接告诉你怕你学的映像不深。

能编个毛线衣吗?
2016-01-25 11:31
sunshiqiang
Rank: 2
等 级:论坛游民
帖 子:14
专家分:16
注 册:2014-1-5
收藏
得分:0 
回复 2楼 wmf2014
版主,我是找了半天没找到才来这问的。我主要是想不明白,直接%s输出a[0],b[0]为什么得到的效果是不一样的。
2016-01-25 11:43
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:0 
理论上,你数组b[2]的显示也应该出问题的,因为,也没有字符串结束标志'\0'的存储空间。
vc直接不能通过编译,提示如下:
f:\vc\aaa\aaa.cpp(4) : error C2117: 'ab' : array bounds overflow
f:\vc\aaa\aaa.cpp(4) : error C2117: 'cd' : array bounds overflow
f:\vc\aaa\aaa.cpp(5) : error C2117: 'fghj' : array bounds overflow

[此贴子已经被作者于2016-1-25 11:50编辑过]


能编个毛线衣吗?
2016-01-25 11:48
sunshiqiang
Rank: 2
等 级:论坛游民
帖 子:14
专家分:16
注 册:2014-1-5
收藏
得分:0 
回复 4楼 wmf2014
谢版主!!! 我再回去看一遍基础去吧
2016-01-25 11:55
李小东
Rank: 1
来 自:云南
等 级:新手上路
帖 子:4
专家分:0
注 册:2016-1-2
收藏
得分:0 
%s是输出字符串,%c是输出单个字符。

我是小白,希望在这里学到的更多。
2016-01-25 13:05
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
回复 楼主 sunshiqiang
你這個代碼編譯器沒給任何警告信息就過了?

授人以渔,不授人以鱼。
2016-01-25 15:35
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
char a[2][2] = {"ab","cd"};

你答一下,這裏"ab"、"cd"各有多少char,在a[2][2]中如何分佈?

授人以渔,不授人以鱼。
2016-01-25 16:09
快速回复:字符数组的问题
数据加载中...
 
   



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

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