Code 1:
#include<stdio.h>
int main()
{
char a[50]={0};
int l, h;
printf("输入长和高:");
scanf("%d%d", &l, &h);
printf("输入字符串a=");
gets(a);
puts(a);
return 0;
}
Code 2:
#include<stdio.h>
int main(void)
{
char a[50]={0};
printf("输入字符串a=");
gets(a);
puts(a);
return 0;
}
为什么第二段代码就能正确输入输出字符串,第一段就不行。。编译器是GCC 4.7.1 。release
这样就可以了。
非格式化输入,字符和字符串的输入会受到前次输入缓冲区的影响,因此在gets、getchar等接收字符输入前,应该清空缓冲区。
追问 //思路是对的呢,换个函数就能用了,谢谢您
Code Final:
printf("输入字符串a=");
//flushall();//清空缓冲区
fflush(stdin);//换成这个
gets(a);
puts(a);
return 0;
}
这是不同编译器下的函数和用法不同。
【C语言】gets和puts还有scanf和printf搭配使用
include<stdio.h>int main(){char a[50]={0};int l, h;printf("输入长和高:");scanf("%d%d", &l, &h); printf("输入字符串a=");flushall();\/\/清空缓冲区gets(a);puts(a);return 0; }这样就可以了。非格式化输入,字符和字符串的输入会受到前次输入缓冲区的影响,因此在get...
gets和puts能否用和scanf和printf通用?请举例说明原因
gets和puts只针对字符串输入、输出,scanf和printf可以处理其它类型的变量。
puts\/gets 和 scanf\/printf 用法上的区别...
gets()函数实现字符串的输入,其调用形式为:gets(字符数组);调用puts()函数实现字符串的输出,其调用形式为:puts(字符数组);二、格式 scanf语句的一般格式如下:scanf("格式字符串", 地址,?);printf语句的一般形式如下:printf( "格式字符串", 表达式, ... );该语句将"表达式"按照"格式字符串...
puts函数与gets函数 与printf函数,scanf函数 概念上的区别是..使用效 ...
puts("%s",str)自带换行,printf(“%d\\n”,x);输入gets一般用于输入字符串,scanf("%d",&x);输入到空格为止
请问各位高手,gets(s)和scanf("%s\\n",s)一样, puts(s)和printf(
gets(s)和scanf("%s\\n",s)的功能都是一样的,区别就是scanf()函数不接受空格、tab制表符等字符,而gets()函数可以接受以上字符,也就是说scanf()遇到空格、制表符和回车就结束,而gets()遇到回车结束,可以接受回车之前的任何字符。puts(s)和printf("%s\\n",s)的区别说白了就是puts()输出完成...
C语言puts与gets问题
puts(s);gets --> 从键盘输入字符串,包括空格。如:char str[128];gets(str);printf --> 格式化输出到屏幕。可以以不同的格式把参数输出到屏幕。如:char s[]="china";printf("%s", s);\/\/以字符串的格式把s输出到屏幕 int a = 3;printf("%d", a);\/\/以有符号整型的格式把a的值...
C语言中如何用 gets(),put()
gets()、puts()都是针对字符串类型处理的,传入的参数是char *型,或char[]型 gets()是输入字符串函数,puts()是字符串输出函数 例如:char *a;gets(a);或者:char a[10];gets(a);相当于:scanf("%s",a);输出函数:puts(a);相当于:printf("%s\\n",a);...
puts\/gets 和 scanf\/printf 用法上的区别...
puts()函数的作用与语printf("%s\\n",s)相同。gets()函数 gets()函数用来从标准输入设备(键盘)读取字符串直到回车结束,但回车符不属于这个字符串。其调用格式为:gets(s);其中s为字符串变量(字符串数组名或字符串指针)。gets(s)函数与scanf("%s",&s)相似,但不完全相同,使用scanf("%s",&s)...
请给我编个C语言程序,程序里要求gets, scanf同时出现,谢谢
include <stdio.h>#include <string.h> int main (){char a[10];int b;gets(a);scanf("%d",&b);puts(a);printf("%d",b);return 0; }\/*运行结果:12341234*\/
C语言中字符和字符串的输入输出函数
在C语言中,字符与字符串是处理文本信息的两种关键数据类型。字符代表单一字母、数字或符号,而字符串是一系列字符组成的序列,通常以空字符结尾。尽管printf和scanf函数在字符与字符串操作中极为方便,但还有其他函数可提供同样功能,如putchar、getchar、puts和gets。本文将详细探讨这些函数的语法、功能,并...