首先看这三个程序:
1、
#include"stdio.h"//这个头文件包含gets()函数
intmain(
void
)
{
charstr1[5];
gets
(str1);
printf
(
"%s\n"
,str1);
return0;
}
2、
#include <stdio.h>
int main(void)
{
int c;
/* Note that getchar reads from stdin and
is line buffered; this means it will
not return until you press ENTER. */
while ((c = getchar()) != '\n')
printf("%c", c);
return 0;
}
注:可以利用getchar()函数让程序调试运行结束后等待编程者按下键盘才返回编辑界面,用法:在主函数结尾,return 0;之前加上getchar();
3、
#include <stdio.h>
#include<string.h>
void main(){
scanf("%s",a);
printf("scanf:%s",a);
}
gets(s)函数与scanf("%s",s)相似,但不完全相同,使用scanf("%s",s) 函数输入字符串时存在一个问题,就是如果输入了空格会认为字符串结束,空格后的字符将作为下一个输入项处理,但gets()函数将接收输入的整个字符串直到遇到换行为止。