scanf, getchar, gets区别
时间: 2023-05-27 17:02:49 浏览: 121
C语言gets()和scanf()函数的区别
5星 · 资源好评率100%
scanf、getchar和gets都是C语言中的输入函数。
1. scanf
scanf函数是标准输入函数之一,其原型如下:
```c
int scanf(const char *format, ...);
```
scanf函数用于从标准输入流(即键盘)读取指定格式的数据,并将数据存储在对应的变量中。该函数的返回值为成功读取数据的个数。
例如,下面的代码读取用户输入的两个整数,并计算它们的和:
```c
int a, b;
scanf("%d%d", &a, &b);
int sum = a + b;
```
2. getchar
getchar函数是标准输入函数之一,其原型如下:
```c
int getchar(void);
```
getchar函数用于从标准输入流(即键盘)读取一个字符,并将其作为函数的返回值返回。
例如,下面的代码读取用户输入的字符并输出:
```c
char c = getchar();
printf("You input: %c\n", c);
```
3. gets
gets函数是标准输入函数之一,其原型如下:
```c
char *gets(char *s);
```
gets函数用于从标准输入流(即键盘)读取一行文本,并将其存储在指定的字符数组中。该函数的返回值为读取到的字符串指针。
例如,下面的代码读取用户输入的一行文本并输出:
```c
char str[100];
gets(str);
printf("You input: %s\n", str);
```
需要注意的是,gets函数在读取字符串时不会检查读取的长度,可能会导致缓冲区溢出的问题。因此,建议使用更安全的fgets函数来代替gets函数。
阅读全文