1.printf()和scanf()是格式输出输入函数,最后的f是format(格式)的意思。 2.putchar() getchar() 输出输入函数只针对单个字符的操作。 3.puts(),gets() 输出输入函数可以单个字符操作(但是功能有限的),主要是针对字符串操作。 下面我们定义 int a 用scanf("%d",a)可以获取整型a的值,a=getchar(),gets(a)无法从键盘获取数字 用printf("%d",a)可以打印数字a的值,putchar(a),puts(a)没法打印 数字方面:printf()和scanf()胜 char a 用scanf("%c",&a) 可以获取字符a的值,用a=getchar()能获取a的值,用gets(a)不能获取 用printf("%c",a)可以打印字符a的值 用a=getchar()可以打印a的值,用puts(a)不能打印 字符方面:getchar()和putchar()第1 scanf()和printf()第2 gets和puts()败 补充:puts()和gets()能接收和打印单个字符只限制变量是数组变量 例如 char a[50]; gets(a); put(a); 你输入一个字符就会打印一个字符 但如果是字符变量 char a='x'; char a; puts(a); 或 gets(a); puts(a); 就无法运行 char a[50] 用scanf("%s",a)能获取数组a的值,用a=getchar()无法获取,用gets(a)能获取a的值 用printf("%s",a)能打印数组a的值 用putchar(a)无法打印,用puts(a)能打印a的值 字符串(数组)方面:gets()和puts()第一,scanf()和printf()第2,getchar()和putchar()败 可见scanf()和printf()什么都能实现,但对字符和字符串操作没有其他两种好 getchar()和putchar()对字符操作优势明显,但不能操作数字变量,字符数组变量 gets()和puts()对字符串操作优势明显,但也不能操作数字变量,字符变量 scanf()和printf()格式输入输出能同时按格式一起输入输出字符,数字,字符串 这是其他两种不能比的 所以程序以scanf()和printf()为主,其他两种作为辅助,发挥各自的长处。 最后来个总结,用程序表示 #include main() { char a,b[50]; printf("请输入第一个字符:\n"); scanf(" %c",&a); getchar(); //获取前面的回车 printf("第一个的字符为:%c\n",a); printf("请输入第二个字符:\n"); a=getchar(); printf("第二个字符为:"); putchar(a); putchar('\n'); printf("请输入第一个字符串:\n"); scanf(" %s",&b); getchar(); //获取前面的回车 printf("第一个的字符为:%s\n",b); puts("请输入第二个字符串:"); gets(b); puts("第二个字符串为:"); puts(b); } |
| 本文出处: http://www.52bcx.com/Program/c/hx/list_12_2.html |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|