C 语言中 scanf() 和 gets() 之间的区别
cserver side programmingprogramming
在 C 语言中,scanf() 和 gets() 函数均被定义为从外部源获取输入并作为输入传递给系统。现在这两个函数之间存在一些特性差异。
以下是 C 语言中 scanf() 和 gets() 之间的重要区别 −
Sr. No. | Key | scanf() 函数 | gets() 函数 |
---|---|---|---|
1 | 定义 | scanf() 函数可以从键盘读取输入并根据给定的格式说明符存储它们。它读取输入直到遇到空格、换行符或 EOF。 | 另一方面,gets() 函数用于从键盘接收输入,直到遇到换行符或 EOF。空格被视为输入的一部分。 |
2 | 空格 | 在 scanf() 函数中,空格不被视为输入字符,并且如果在空格之间遇到任何空格,它也会停止从外部源读取输入。 | 另一方面,在 get() 函数中,空格被视为输入字符,并且如果在空格之间遇到任何空格,它也会停止从外部源读取输入,并继续从输入源读取。 |
3 | 语法 | scanf() 函数采用格式字符串和变量地址列表。例如 scanf(“%d”, &number); | 另一方面,get() 函数采用变量的名称来存储接收到的值。例如gets(name); |
4 | DataType | scanf() 函数可以读取不同数据类型的多个值。 | 然而另一方面,get() 函数只能获取字符串数据。 |