鱼C论坛

 找回密码
 立即注册
查看: 807|回复: 4

[已解决]C语言学校OJ题字符串反序,提交后运行错误

[复制链接]
发表于 2020-12-3 11:21:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
题目描述
写一个函数,使输入的一个字符串(少于80个字符)按反序存放,在主函数中输入输出字符串。

样例输入
reverse a string
样例输出
gnirts a esrever
以下是我的代码:
#include <stdio.h>
#include <string.h>
int main(){
    char x[81];
    int i;
    for(i=0;(x[i]=getchar())!='\n';i++);
    x[i]='\0';
    for(i=i-1;i>=0;i--)printf("%c",x[i]);
    return 0;
}
学校OJ系统运行于Debian/Ubuntu Linux. 使用GNU GCC/G++ 作为C/C++编译器,编译器版本为gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
最佳答案
2020-12-3 11:59:43
本帖最后由 风过无痕1989 于 2020-12-3 12:04 编辑
#include <stdio.h>
#include <string.h>
int main() {
        char ch, x[81];
        int i, n;
        for (i = 0;(x[i] = getchar()) != '\n';i++);
/*     x[i + 1] = '\0';        */                              // 此行语句没有用处,可删除
        n  = i - 1;
        for (i = n;i >= n / 2;i--)
        {
                ch = x[i];
            x[i] = x[n - i];
            x[n - i] = ch;
    }

        for (i = 0;i <= n;i++)
                printf("%c", x[i]);
        printf("\n");
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-3 11:29:13 | 显示全部楼层
反序存放,不是反序输出
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-3 11:31:24 | 显示全部楼层
巴巴鲁 发表于 2020-12-3 11:29
反序存放,不是反序输出

学校OJ是根据输入和输出判断的,而且问题是出在运行错误,应该不是这个问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-3 11:59:43 | 显示全部楼层    本楼为最佳答案   
本帖最后由 风过无痕1989 于 2020-12-3 12:04 编辑
#include <stdio.h>
#include <string.h>
int main() {
        char ch, x[81];
        int i, n;
        for (i = 0;(x[i] = getchar()) != '\n';i++);
/*     x[i + 1] = '\0';        */                              // 此行语句没有用处,可删除
        n  = i - 1;
        for (i = n;i >= n / 2;i--)
        {
                ch = x[i];
            x[i] = x[n - i];
            x[n - i] = ch;
    }

        for (i = 0;i <= n;i++)
                printf("%c", x[i]);
        printf("\n");
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-12-3 13:17:51 | 显示全部楼层
问题本人已解决,将'\n'换成EOF即可,估计是因为学校的测试数据里没有换行符导致数组溢出
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 12:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表