写在前面:这里是小王成长日志,一名在校大学生,想在学习之余将自己的学习笔记分享出来,记录自己的成长轨迹,帮助可能需要的人。欢迎关注与留言。
题目:
题目链接:https://www.dotcpp.com/oj/problem1093.html
题目 1093: 字符逆序
时间限制: 1Sec 内存限制: 64MB 提交: 14369 解决: 7346
题目描述
将一个字符串str的内容颠倒过来,并输出。str的长度不超过100个字符。
输入
输入包括一行。 第一行输入的字符串。
输出
输出转换好的逆序字符串。
样例输入
I am student
样例输出
tneduts a ma I
C语言解法
#include <stdio.h>
int main()
{
char a[100], c;
int i = 0;//这里i即是作为索引存储读取的ch的值,也是在记录输入的字符的个数
while ((c = getchar()) != EOF && c != '\n')//EOF是文字流的结尾(定义的一个常量),一般值为-1,题目中的结束也可能是换行 因为题目说了是一行字符串
{
a[i] = c;
i++;//i自加
}
//这边只要从i-1开始是因为在最后一次有效输入后i仍然进行了一次自加
for (int k = i-1; k >= 0; k--)
printf("%c", a[k]);
return 0;
}
EOF详解
EOF 是定义的一个常量 一般值为-1
一些数据读取函数(如 fgetc 与 getc 函数)而言,如果读到文件末尾(也可以理解为“如果不能从文件中读取”,即文件已经读完或者文件读取出错),则返回一个整数(-1),这就是所谓的 EOF。因此,EOF 宏不但能够表示读文件到了结尾这一状态(这种状态可以用 feof() 来检测),还能表示 I/O 操作中的读、写错误(通常可以用 ferror() 来检测)以及其他一些关联操作的错误状态。
都看到这里了,各位哥哥姐姐叔叔阿姨给小王点个赞 关个注 留个言吧,和小王一起成长吧,你们的关注是对我最大的支持。
有事没事进来看看吧 : 小王的博客目录索引
C语言专栏看这 : C语言学习专栏
如果以上内容有任何不准确或遗漏之处,或者你有更好的意见,就在下面留个言让我知道吧-我会尽我所能来回答。