| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 774 人关注过本帖
标题:问一个字符串数组的问题
只看楼主 加入收藏
hy1107648
Rank: 2
等 级:论坛游民
帖 子:80
专家分:40
注 册:2010-2-8
结帖率:37.5%
收藏
已结贴  问题点数:20 回复次数:8 
问一个字符串数组的问题
我在书上看到字符串可以完整的输入或输出,例如printf("%s",a); (a是字符串数组的名字),这种情况违背了必须以单个数组元素进行操作的规定,可以算是特例,那么字符串的数组名除了能在已%s格式输入和输出的时候操作整个字符串之外,是不是在其他情况下都能操作整个字符串呢?? 还是说字符串的数组名只能在已%s格式输入和输出的时候操作整个字符串,而在其他情况下只能操作字符串的第一个字符呢??  请各位赐教,谢谢~ ~
搜索更多相关主题的帖子: 字符 
2010-08-21 09:56
jack10141
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:陕西西安
等 级:小飞侠
威 望:6
帖 子:706
专家分:2271
注 册:2010-8-10
收藏
得分:3 
以下是引用hy1107648在2010-8-21 09:56:49的发言:

我在书上看到字符串可以完整的输入或输出,例如printf("%s",a); (a是字符串数组的名字),这种情况违背了必须以单个数组元素进行操作的规定,可以算是特例,那么字符串的数组名除了能在已%s格式输入和输出的时候操作整个字符串之外,是不是在其他情况下都能操作整个字符串呢?? 还是说字符串的数组名只能在已%s格式输入和输出的时候操作整个字符串,而在其他情况下只能操作字符串的第一个字符呢??  请各位赐教,谢谢~ ~
字符串的数组名在字符串处理函数中依然是操作直接整个字符串的

Coding就像一盒巧克力,你永远不会知道你会遇到什么BUG
别跟我说你是不能的,这让我愤怒,因为这侮辱了你的智慧
2010-08-21 10:24
真我
Rank: 4
等 级:业余侠客
威 望:1
帖 子:146
专家分:210
注 册:2010-7-14
收藏
得分:3 
所有的数组名都可以用来操作整个数组,因为数组名可以当做一个退化的指针,
2010-08-21 10:31
hy1107648
Rank: 2
等 级:论坛游民
帖 子:80
专家分:40
注 册:2010-2-8
收藏
得分:0 
回复 2楼 jack10141
对于字符串数组来说,除了输入输出以及字符串处理函数外,应该不能用字符串数组的名字来操作整个字符串了吧,同时应该不能一次性操作整个字符串了吧,只能操作单个的字符了吧,我说的对吗??
2010-08-21 10:53
acman
Rank: 1
来 自:郑州
等 级:新手上路
帖 子:12
专家分:5
注 册:2010-8-21
收藏
得分:3 
字符串数组的数组名实际上是一个指针常量 只要是可以用指针的地方  基本可以 用数组名来代替的  这当然是要根据实际情况了  
比如 int a[100];
printf("%d\n",*(a+1));
输出的就是 a[1];
但是呢 一般指针常量不能 改变  a++  就不行了  
但是 可以
int a[100],*b=a,n=100;
while(n--)
    scanf("%d  ",a++);
这样就是 输进去 100个整数;
2010-08-21 11:29
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:3 
数组就是数组, 字符串就是字符串。数组是定长的,字符串是变长的
一个带有 字符串终止符0 的字符数组,可以看作是字符串。

我就是真命天子,顺我者生,逆我者死!
2010-08-21 11:36
sonicyouth
Rank: 1
等 级:新手上路
帖 子:4
专家分:3
注 册:2010-8-19
收藏
得分:3 
以下是引用hy1107648在2010-8-21 10:53:32的发言:

对于字符串数组来说,除了输入输出以及字符串处理函数外,应该不能用字符串数组的名字来操作整个字符串了吧,同时应该不能一次性操作整个字符串了吧,只能操作单个的字符了吧,我说的对吗??
除了输入输出以及字符串处理函数,这些都除了还能有啥操作。。。
2010-08-21 11:53
erikyo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:270
专家分:1154
注 册:2010-6-10
收藏
得分:3 
楼主注意在C语言中从来就没有整体操作一个数组的实现。所有的数组都是指针的形式在系统中被操作的。
字符串处理函数的参数其实都是指针而已,同样的printf函数中的参数也仅仅是字符串数组的首地址而已。
2010-08-21 23:10
真我
Rank: 4
等 级:业余侠客
威 望:1
帖 子:146
专家分:210
注 册:2010-7-14
收藏
得分:0 
能输出整个字符串是函数的功能
2010-08-22 11:09
快速回复:问一个字符串数组的问题
数据加载中...
 
   



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

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