这题干的描述不够清楚,用python编不会有问题,如果用c的话“每次一行字符串,有空格。多 Case,处理到文件结束。”文件结束的EOF什么时候输入?是一行回车输出然后输入EOF结束程序,还是在一行末尾紧接着EOF然后回车结束程序?这两个产生的EOF值是不一样的,用的条件也不一样,根据测试,题目要求的是后者。
这题干的描述不够清楚,用python编不会有问题,如果用c的话“每次一行字符串,有空格。多 Case,处理到文件结束。”文件结束的EOF什么时候输入?是一行回车输出然后输入EOF结束程序,还是在一行末尾紧接着EOF然后回车结束程序?这两个产生的EOF值是不一样的,用的条件也不一样,根据测试,题目要求的是后者。
using namespace std;
main()
{
string s;
while(getline(cin,s)){
reverse(s.begin(),s.end());
cout<<s<<endl;
}
}
int main()
{
char a[10010];
while(gets(a)!=NULL)//gets碰到EOF返回值是char*类型的NULL
{
int n=strlen(a);
while(n–!=0)
printf(“%c”,a[n]);
printf(“\n”);
}
return 0;
}
上面的代码可以完美运行,但不知道为什么把字符数组长度设为10000会溢出
#include <iostream>
#include <algorithm>
using namespace std;
int main(int argc, char **argv) {
string s;
while (getline(cin, s)) {
reverse(s.begin(), s.end());
cout << s << endl;
}
return 0;
}
帮我的室友发代码
请问第二种结束的代码怎么写
检测gets是否返回了空指针可以解决这一问题