| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 957 人关注过本帖
标题:新手请教:为什么输出结果的字符最前面有一个空格?
只看楼主 加入收藏
kit517
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-10-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:14 
新手请教:为什么输出结果的字符最前面有一个空格?
程序代码:
#include "stdio.h"
#include "string.h"
void main()
{
    char s[80];int i;
    printf("pls input a string:\n");
    gets(s);
    i=strlen(s);
    printf("字符长度为:%d\n",i);
    for(;i>=0;i--)
    printf("%c",s[i]);
}


图片附件: 游客没有浏览图片的权限,请 登录注册



不懂为什么输出的字符最前面有一个空格呢,不是应该顶格输出吗,想不通,求高手解答。谢谢了。

[ 本帖最后由 kit517 于 2013-10-7 09:23 编辑 ]
2013-10-06 23:23
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:5 
s[i],因为字符串的末尾是'\0'

www.qunxingw.wang
2013-10-07 00:12
天空编程
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:53
专家分:123
注 册:2013-7-5
收藏
得分:0 
嗯!我也觉得是,所以我顶一下!
2013-10-07 00:32
kit517
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-10-6
收藏
得分:0 
回复 2楼 qunxingw
strlen函数不是不计算'\0'的长度吗?比如 str[]="what",strlen(str)=4,不是这样么?

新手报道,请多多关照。
2013-10-07 08:18
qunxingw
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:24
帖 子:1676
专家分:7295
注 册:2011-6-30
收藏
得分:0 
但你要看你的a[i]第一个输出时i值是多少

www.qunxingw.wang
2013-10-07 08:32
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
推薦本帖的求助格式,如果把標題描述得具體一些就更好了,比如“不懂为什么输出的字符最前面有一个空格”這樣。

授人以渔,不授人以鱼。
2013-10-07 08:52
kit517
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-10-6
收藏
得分:0 
以下是引用qunxingw在2013-10-7 08:32:37的发言:

但你要看你的a第一个输出时i值是多少

不好意思,可能我还是有些地方没弄明白,若s[]="what",s[i]第一个值不就应该是S[4]吗?,S[4]应该是输出t而不是空格啊,还请高手详解,不其甚感激。

新手报道,请多多关照。
2013-10-07 10:06
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:10 
C從0開始計數,這是所有C書上一開始都有講的,看過要記住。這次喫了虧之後,經我這樣提示你書上有,就返回去再看看,從此意識到書上有講到的為什麽到時會忘了,懂得怎樣去翻書。這才是最重要的!

在書越開始的地方提到的知識點,必定是越基礎的,這個訣竅最好永遠記在心上。很多人對書的前面(特別是序言)略過,自以爲很簡單,不必要看,殊不知到後來往往就栽在這種地方,甚至連方向都弄錯了。

[ 本帖最后由 TonyDeng 于 2013-10-7 10:14 编辑 ]

授人以渔,不授人以鱼。
2013-10-07 10:11
kit517
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-10-6
收藏
得分:0 
回复 8楼 TonyDeng
感谢版主大大的指点,我会牢记的,谢谢。

新手报道,请多多关照。
2013-10-07 10:35
husiwen
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:2
帖 子:227
专家分:1125
注 册:2010-5-23
收藏
得分:0 
回复 4楼 kit517
按你这么说..你最后打印要从3打印起  i要提前--
2013-10-07 11:59
快速回复:新手请教:为什么输出结果的字符最前面有一个空格?
数据加载中...
 
   



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

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