不知问题出在哪,求教一下。洛谷的5705

清晨曦月
博客专家认证
2020-08-05 04:38:03
用字符串类没问题,但是用char数组就坏了
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
string a;
int s;
cin>>a;
s=a.size() ;

for(int i=s-1;i>=0;i--)
cout<<a[i];
}


#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
char a[100000];int s;
gets(a);
s=strlen(a);
getchar();
for(int i=s-1;i>=0;i--)
cout<<a[i];
}

问题在char[]、gets()、for或者混用c\c++操作流的问题?
...全文
235 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
清晨曦月 2020-08-06
  • 打赏
  • 举报
回复
用gets之后,提交在洛谷的评测机上评测答案错误。。。。。 我把它给的标准答案和自己输出的用winhex对比之后发现完全一致。。。。。可能是评测机的上编译器的版本比较低的问题或者对gets有限制?鬼知道呢,各种奇奇怪怪的问题。
千梦一生 2020-08-06
  • 打赏
  • 举报
回复
如何个坏法。
qybao 2020-08-06
  • 打赏
  • 举报
回复
引用 8 楼 清晨曦月 的回复:
就是目测没问题啊。。。才不知是怎么回事哎,测试数据是123.4输出4.321。这个gets是必须用的,这是一个孩子写的代码,查了半天也不知道什么事儿,一会我再试试把输出结果放到文件里和给的测试结果文件逐个细节比较一下看看。
输入123.4 输出4.321 这结果不就是正确的吗?数据怎么坏了? 只是想知道,你说用数组就坏了,这个坏了是什么样的现象。没有现象,光看代码,看不出问题。
清晨曦月 2020-08-06
  • 打赏
  • 举报
回复
就是目测没问题啊。。。才不知是怎么回事哎,测试数据是123.4输出4.321。这个gets是必须用的,这是一个孩子写的代码,查了半天也不知道什么事儿,一会我再试试把输出结果放到文件里和给的测试结果文件逐个细节比较一下看看。
清晨曦月 2020-08-06
  • 打赏
  • 举报
回复
把分散了,这个题就这样吧。
qybao 2020-08-05
  • 打赏
  • 举报
回复
没看出代码异常,栈空间也没溢出(一般2m到8m,1m=1024x1024远大于100000),LZ输入了什么,输出了什么? 数据被破坏,目前从代码上看只有可能输入数据越界了。 gets是不检查内存大小的(所以一般编译会警报,如4L的截图),所以可以输入数据大于数组,这样就会造成数组越界。
山河君 2020-08-05
  • 打赏
  • 举报
回复
山河君 2020-08-05
  • 打赏
  • 举报
回复
#include <iostream> #include <cstdio> #include <cstring> #include <stdio.h> using namespace std; int main() { char a[100000]; int s; gets_s(a); s = strlen(a); getchar(); for (int i = s - 1; i >= 0; i--) cout << a[i]; } 输入fdsd ,结果有什么问题吗?
alittlenewbiek 2020-08-05
  • 打赏
  • 举报
回复

我这里似乎没有什么错误
  • 打赏
  • 举报
回复
我这两段都可以,你看看。

/*
#include<iostream>
#include<string>

using namespace std;

int main()
{
string a;
int s;
cin >> a;
s = a.size();

for (int i = s - 1; i >= 0; i--)
cout << a[i];

return 0;
}
*/

#include<stdio.h>
#include<string.h>

int main()
{
char a[100000]; int s;
fgets(a, 100000, stdin);
s = strlen(a);
for (int i = s - 1; i >= 0; i--)
{
putchar(a[i]);
}
}
  • 打赏
  • 举报
回复
头文件有点器官,你是什么环境?
  • 打赏
  • 举报
回复

64,266

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧