| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 706 人关注过本帖
标题:【求助】strlen()函数的问题
只看楼主 加入收藏
aki0522
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-2-16
结帖率:0
收藏
已结贴  问题点数:10 回复次数:3 
【求助】strlen()函数的问题
写了一段代码,可以倒序打印输入的单词
#include <stdio.h>
#include <string.h>
int main(void)
{
    char letter[40];
   
    printf("Please enter a word here,and it will be printed in reverse order:\n");
    scanf("%s", letter);

    for(int letters = strlen(letter); letters >= 0; letters--)
        printf("%c", letter[letters]);
    putchar('\n');

    return 0;
}
输出如下
图片附件: 游客没有浏览图片的权限,请 登录注册

求问,输出那行的第一个空格是哪里来的?为什么会有?
搜索更多相关主题的帖子: include letters printed return 单词 
2017-02-16 14:59
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:5 
'/0'~~~~~~~~~~~~~~~~~~
letters=strlen(letter)-1;~~~~~~~~~~~~~~~~~~~~~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-02-16 15:01
aki0522
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-2-16
收藏
得分:0 
回复 2楼 九转星河
strlen()函数不是不计算字符串末尾的空字符吗,sizeof()才会计算的吧
2017-02-16 15:13
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:5 
回复 3楼 aki0522
strlen()的确不计算\0,但是以你的字符串为例,abc\0,是3个字符,但是letter[3]就是\0,这是因为偏移量是从0开始计数的。

[此贴子已经被作者于2017-2-16 15:17编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-02-16 15:16
快速回复:【求助】strlen()函数的问题
数据加载中...
 
   



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

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