C语言:scanf("%s",a)和gets(a)的区别(a[i]是字符串数组)
2016-12-23 12:18
405 查看
字符串逆向输出
Problem Description
不断从键盘输入字符串,然后将它反向输出。
Input
输入数据有多组,每组一行字符串,长度不超过100。
Output
输出逆向后的字符串。
Sample Input
abcd
www.mnnu.edu.cn
Sample Output
dcba
nc.ude.unnm.www
Author
wtf
Recommend
wtf
看完题目,新手小白都会觉得很简单,第一感想就是直接应用scanf("%s",a)或gets(a)。但是请读者认真想想,难道两种都可以用吗??
请思考3秒钟!!!一定要思考哦!
。。。。。。
。。。。。。
。。。。。。
。。。。。。
(最简单的字符倒序!但是主要请小白记住上面写的两种区别!!!)
下面给出步骤:
#include <stdio.h>
#include <string.h> //这个也是头文件。。。。。
int main()
{
int i, j, k, l, m, n;
char a[1001];
while (gets(a)) //为什么不用scanf("%s",a[i]);
{
n = strlen(a);
for (i = n - 1; i >= 0; i--)
{
//想想为什么从n-1开始?因为字符数组第n项是'\0';
printf("%c", a[i]);
}
printf("\n");
}
return 0;
}
想想看,给出的例子中,没有说明字符串中是否有空格,如果是scanf("%s",a);的话,遇到空格就停止读空格之后的字符串了。
是这样吧?很简单的一提,大家平时都可以想到,就先写到这一章了。12.30号,以后每天至少一更,就发发自己的学习感悟。
不喜勿喷!!
有不懂C基础问题,可以私我qq:927616151。也可以一起讨论问题,欢迎大家哦!
Problem Description
不断从键盘输入字符串,然后将它反向输出。
Input
输入数据有多组,每组一行字符串,长度不超过100。
Output
输出逆向后的字符串。
Sample Input
abcd
www.mnnu.edu.cn
Sample Output
dcba
nc.ude.unnm.www
Author
wtf
Recommend
wtf
看完题目,新手小白都会觉得很简单,第一感想就是直接应用scanf("%s",a)或gets(a)。但是请读者认真想想,难道两种都可以用吗??
请思考3秒钟!!!一定要思考哦!
。。。。。。
。。。。。。
。。。。。。
。。。。。。
(最简单的字符倒序!但是主要请小白记住上面写的两种区别!!!)
下面给出步骤:
#include <stdio.h>
#include <string.h> //这个也是头文件。。。。。
int main()
{
int i, j, k, l, m, n;
char a[1001];
while (gets(a)) //为什么不用scanf("%s",a[i]);
{
n = strlen(a);
for (i = n - 1; i >= 0; i--)
{
//想想为什么从n-1开始?因为字符数组第n项是'\0';
printf("%c", a[i]);
}
printf("\n");
}
return 0;
}
想想看,给出的例子中,没有说明字符串中是否有空格,如果是scanf("%s",a);的话,遇到空格就停止读空格之后的字符串了。
是这样吧?很简单的一提,大家平时都可以想到,就先写到这一章了。12.30号,以后每天至少一更,就发发自己的学习感悟。
不喜勿喷!!
有不懂C基础问题,可以私我qq:927616151。也可以一起讨论问题,欢迎大家哦!
相关文章推荐
- c语言获取用户输入字符串是scanf和gets的区别
- C语言的那些事——scanf()和gets()在字符串中出现空格时的区别比较
- c语言获取用户输入字符串是scanf和gets的区别
- 关于gets()字符串的输入流与scanf("%s",s)和cin的区别
- scanf(“%s",)与gets()输入字符串的区别,以及与getchar()吸收回车键的搭配
- c语言获取用户输入字符串是scanf和gets的区别详解
- 字符串处理之gets与scanf("%s")的区别
- c语言获取用户输入字符串是scanf和gets的区别
- scanf()与gets()在读取字符串时的区别
- gets() scanf(&quot;%s&quot;) puts() printf(&quot;%s&quot;) 的区别
- C语言 gets()和scanf()函数的区别
- scanf(),printf()和gets(),puts()在输入输出字符串时的区别
- C语言 gets()和scanf()函数的区别
- C语言scanf与gets的区别
- C语言中scanf()与gets()在输入字符串的差别
- 数组字符串与指针字符串的区别 char s[]="***" 和char *s="***"的区别
- getchar和getch的区别,gets和scanf("%s",&k)的区别
- C语言 gets()和scanf()函数的区别
- C语言中scanf函数和gets函数在输入字符串时的区别
- C语言-- gets()和scanf()函数的区别