| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1685 人关注过本帖
标题:对字符串进行倒序排序
取消只看楼主 加入收藏
hffjhhh
Rank: 1
等 级:新手上路
帖 子:127
专家分:7
注 册:2019-4-10
结帖率:90.38%
收藏
已结贴  问题点数:20 回复次数:3 
对字符串进行倒序排序
对字符串进行倒序排序,运行时在输入完字符串后就无法正常运行,是什么原因?代码如下:
程序代码:
#include"stdio.h"
#define QW "quit"
char *ar(char *p){
    char *q;
    int i;
    i=1;
    for(*(p+strlen(p)-i);*p;q++,i++)
        *q=*(p+strlen(p)-i);
    *q='\0';
    return q;
}
int main(void){
    char *t;
    char *w;
    t=(char *)malloc(sizeof(char)*100);
    printf("输入字符串:");
    while(strcmp(gets(t),QW)){
        w=ar(t);
        printf("%s\n",w);
        printf("输入字符串:");
    }
    return 0;
}
搜索更多相关主题的帖子: 字符串 排序 char 输入 printf 
2020-06-13 22:59
hffjhhh
Rank: 1
等 级:新手上路
帖 子:127
专家分:7
注 册:2019-4-10
收藏
得分:0 
以下是引用ditg在2020-6-13 23:59:06的发言:

#include <stdio.h>

#define MAX_LEN 4096

int main(void)
{
    char c, s[MAX_LEN] = {0}, *sp;

    for (sp = s; (c = getchar()) != '\n' && c != EOF; *sp++ = c);
    for (; --sp >= s; putchar(*sp));
    printf("\n");
}

这份代码只能对字符进行倒序排序,而且输入输出都是字符的形式,我要求用字符串的形式进行输入输出.在循环中将字符串传递给函数,并且在函数中进行。

[此贴子已经被作者于2020-6-14 20:06编辑过]

2020-06-14 20:05
hffjhhh
Rank: 1
等 级:新手上路
帖 子:127
专家分:7
注 册:2019-4-10
收藏
得分:0 
以下是引用hffjhhh在2020-6-13 22:59:36的发言:

对字符串进行倒序排序,运行时在输入完字符串后就无法正常运行,是什么原因?代码如下:
#include"stdio.h"
#define QW "quit"
char *ar(char *p){
    char *q;
    int i;
    i=1;
    for(*(p+strlen(p)-i);*p;q++,i++)
        *q=*(p+strlen(p)-i);
    *q='\0';
    return q;
}
int main(void){
    char *t;
    char *w;
    t=(char *)malloc(sizeof(char)*100);
    printf("输入字符串:");
    while(strcmp(gets(t),QW)){
        w=ar(t);
        printf("%s\n",w);
        printf("输入字符串:");
    }
    return 0;
}

运行时在输入完字符串后就无法正常运行,是什么原因?
2020-06-14 23:53
hffjhhh
Rank: 1
等 级:新手上路
帖 子:127
专家分:7
注 册:2019-4-10
收藏
得分:0 
回复 5楼 fulltimelink
我将函数改为这样:这时for循环不需要判断p,只需要判断i<=j.就可以结束循环,但不知为何仍然无法实现倒序输出?
程序代码:
char *ar(char *p){
    char *q;
    q=(char *)malloc(sizeof(char)*100);
    int i,j;
    j=strlen(p);
    for(i=1;i<=j;q++,i++){
        *q=*(p+j-i);
    }
    *q='\0';
    return q;
}
2020-06-15 20:36
快速回复:对字符串进行倒序排序
数据加载中...
 
   



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

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