天天看点

gets(),fgets()与scanf();puts()与pritnf()相互之间的用法与区别

gets() 与 scanf()

  • scanf( )函数和gets( )函数都可用于输入字符串
  • gets 能够接受空格、制表符Tab等.
  • scanf 不能够接受空格、制表符Tab等.
#include<stdio.h>

int main()
{
	char string1[15];	
	char string2[15];
	
	printf("gets()输入带有空格的字符串\n");
	gets(string1);
	
	printf("scanf()输入带有空格的字符串\n");	
	scanf("%s",string2);
		
	printf("\n打印gets()输入的字符串为: %s\n打印scanf()输入的字符串为: %s",string1,string2);
	
	return 0;
} 
           
输入数据为为:
	gets()输入带有空格的字符串
	abc  abc
	scanf()输入带有空格的字符串
	abc  abc
输出结果为:
	打印gets()输入的字符串为: abc  abc
	打印scanf()输入的字符串为: abc
           

fgets()

fgets() 读取文件中的内容

char * fgets(char * s, int n, FILE *stream);
  • s: 字符型指针,指向存储读入数据的缓冲区的地址。
  • n: 从流中读入n-1个字符
  • stream : 指向读取的流。

puts()与printf()

  • 不同的换行符
    • puts()函数会自动在字符串末尾添加一个换行符,这意味着它会自动换行,而printf()函数没有此功能。
  • 输出内容不同
    • puts()函数只能输出字符串,不能对输出和转换指令进行标准化,而printf()函数可以。

继续阅读