c语言延时函数问题:要求写一个函数,功能是将一行字符串按出现的次数由低到高重新排列输出。比如,

安全检查中...
请打开浏览器的javascript,然后刷新浏览器
< 浏览器安全检查中...
还剩 5 秒&c语言获取用户输入字符串是scanf和gets的区别
我的图书馆
c语言获取用户输入字符串是scanf和gets的区别
gets(s)函数与 scanf("%s",&s) 相似,但不完全相同,使用scanf("%s",&s) 函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止。
所在头文件:stdio.h
语法:scanf("格式控制字符串",变量地址列表);
接受字符串时:scanf("%s",字符数组名或指针);
所在头文件:stdio.h
语法:gets(字符数组名或指针);
两者在接受字符串时:
1.不同点:
scanf不能接受空格、制表符Tab、回车等;
而gets能够接受空格、制表符Tab和回车等;
2.相同点:
字符串接受结束后自动加'\0'。
#include &stdio.h&int main(){  char ch1[10],ch2[10];  scanf("%s",ch1);  gets(ch2);
return 0;}
依次键入asd空格fg回车,asd空格fg回车,则ch1="asd\0",ch2="asd fg\0"。
程序2:#include &stdio.h&int main(){char str1[20], str2[20];scanf("%s",str1);printf("%s\n",str1); scanf("%s",str2);printf("%s\n",str2);return 0;}程序的功能是读入一个字符串输出,再读入一个字符串输出。可我们会发现输入的字符串中不能出现空格,例如:测试一输入:Hello word(enter)输出:Helloworld!
程序3:#include &stdio.h&int main(){char str1[20], str2[20];gets(str1);printf("%s\n",str1); gets(str2);printf("%s\n",str2);return 0;}测试:Helloworld! [输入]Helloworld! [输出]12345 [输入]12345 [输出]【分析】显然与上一个程序的执行情况不同,这次程序执行了两次从键盘的读入,而且第一个字符串取了Helloworld! 接受了空格符,而没有像上一个程序那样分成了两个字符串!所以如果要读入一个带空格符的字符串时因该用gets(), 而不宜用scanf()!
TA的最新馆藏[转]&[转]&[转]&
喜欢该文的人也喜欢}

我要回帖

更多关于 c语言随机函数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信