C语言中put()与puts()的区别?
关注:275 答案:2 mip版
解决时间 2021-02-04 15:47
提问者笑低了眉眼
2021-02-04 12:42
C语言中put()与puts()的区别?
最佳答案
二级知识专家回眸只為那壹抹淺笑
2021-02-04 14:13
putchar()和puts()吧?
putchar()是输出一个字符的意思,经常用来输出一些特殊字符。
比如你要输出一个空格:putchar('\n');
比如你要输出一条线:for(i=0;i<30;i++) putchar('-');
和printf有作用相同的地方。相对的getchar()获得一个字符。
puts();和gets();
前者是输出,后者是(从键盘)获得。
但是而这都是对于字符数组或者指向字符数组的指针进行操作的。
比如你在char str[20];里面输入了一个字符串(可以用gets(str)函数实现)。然后通过puts(str);语句就可以进行输出了。这里要注意,这两个函数的括号里面的参数是字符串数组的首地址也就是字符数组的名字或者是已经被赋值指向字符数组的指针的名字。
这两个与scanf("%s",str);以及for和%c的组合相比,优点是书写简便,可以接受空格(比如你输入how are you?的时候,有空格就是能用gets()进行输入了)。scanf是看到空格和回车都认为是结束,而gets可以接受空格,只把回车当做结束。字符串输入输出的时候这两个函数用的频率还是蛮高的。
再就是后面文件方面的输入输出,fgetc()/fputc()/fgets()/fputs(),有兴趣可以看一下。
全部回答
1楼爷自有爷的范
2021-02-04 14:56
puts()函数用来向标准输出设备(屏幕)写字符串并换行, 其调用格式为: puts(s);
其中s为字符串变量(字符串数组名或字符串指针),puts()函数的作用与语printf("%s\n", s)相同。
gets()函数用来从标准输入设备(键盘)读取字符串直到回车结束, 但回车符不属于这个字符串。其调用格式为: gets(s);
s为字符串变量(字符串数组名或字符串指针)。gets(s)函数与scanf("%s", &s)相似, 但不完全相同, 使用scanf("%s", &s) 函数输入字符串时存在一个问题, 就是如果输入了空格会认为输入字符串结束, 空格后的字符将作为下一个输入项处理, 但gets() 函数将接收输入的整个字符串直到回车为止。
putchar函数只能用于单个字符的输出,且一次只能输出一个字符。getchar函数只能用于单个字符的输入,一次输入一个字符。程序的功能是输入一个字符,显示一个字符,回车换行,再输入并显示一个字符。而运行时字符是连续输入的,运行结果却是正确的,这是因为输入字符后,它们暂存于键盘的缓冲区中,然后由getchar函数从键盘缓冲区中一个一个的取出来。
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
→点此我要举报以上信息!←
推荐资讯
大家都在看