getchar和gets和scanf区别
时间: 2023-04-29 18:05:31 浏览: 121
`getchar` 和 `gets` 都是用来从标准输入中读取字符串的函数,但是有一些区别:
- `getchar` 会从标准输入中读取下一个可用的字符。
- `gets` 会从标准输入中读取一行,直到遇到换行符或 EOF(文件结束符)为止。
`scanf` 是用来读取格式化输入的函数,它可以读取各种不同类型的输入,如整数、浮点数、字符串等。
注意: gets 已经被 C11 标准弃用,应使用 fgets 或 gets_s 代替。
相关问题
getchar和gets和scanf区别的相关例子
1. getchar:
```
#include <stdio.h>
int main() {
char c;
printf("Enter a sentence: ");
while ((c = getchar()) != '\n') {
printf("%c", c);
}
return 0;
}
```
这个程序会提示用户输入一个句子,然后逐个字符地输出这个句子,直到用户按下回车键。
2. gets:
```
#include <stdio.h>
int main() {
char str[100];
printf("Enter a string: ");
gets(str);
printf("You entered: %s", str);
return 0;
}
```
这个程序会提示用户输入一个字符串,然后使用 gets 函数读取这个字符串,并输出用户输入的字符串。
3. scanf:
```
#include <stdio.h>
int main() {
char str[100];
int num;
printf("Enter a string and a number: ");
scanf("%s%d", str, &num);
printf("You entered: %s and %d", str, num);
return 0;
}
```
这个程序会提示用户输入一个字符串和一个数字,然后使用 scanf 函数读取这些输入,并输出用户输入的字符串和数字。注意,scanf 函数需要使用格式化字符串来指定读取的数据类型和格式。
getchar和gets和scanf使用例子
getchar使用例子:
#include <stdio.h>
int main() {
char c;
printf("请输入一个字符:");
c = getchar();
printf("您输入的字符是:%c\n", c);
return ;
}
gets使用例子:
#include <stdio.h>
int main() {
char str[50];
printf("请输入一个字符串:");
gets(str);
printf("您输入的字符串是:%s\n", str);
return ;
}
scanf使用例子:
#include <stdio.h>
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
printf("您输入的整数是:%d\n", num);
return ;
}
阅读全文