getchar和gets和scanf使用例子
时间: 2023-03-28 16:03:32 浏览: 130
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 ;
}
相关问题
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、fgetc、gets、fgets、scanf、sscanf、fscanf这些api有什么区别,给一些用例展示一下区别
这些 API 都涉及文件输入输出,但它们的使用场景和具体功能有所不同,下面是介绍它们的一些区别和用例:
1. getchar:从标准输入(stdin)读取一个字符,一般用于读取单个字符,并且是以回车或者换行符为结束标志,可以结合 while 循环使用。
例子:
```
int c;
while ((c = getchar()) != EOF) {
putchar(c);
}
```
2. fgetc:从指定的文件指针(file pointer)读取一个字符,一般用于读取文件中的字符。
例子:
```
int c;
FILE* fp = fopen("test.txt", "r");
if (fp) {
while ((c = fgetc(fp)) != EOF) {
putchar(c);
}
fclose(fp);
}
```
3. gets:从标准输入(stdin)读取一行字符,一般用于读取一段连续的字符,但不推荐使用,因为它没有对输入长度进行限制,容易导致缓冲区溢出。
例子:
```
char str[1024];
if (gets(str)) {
printf("input string: %s\n", str);
}
```
4. fgets:从指定的文件指针(file pointer)读取一行字符,一般用于读取文件中的一行字符,可以指定读取的字符数及缓冲区大小。
例子:
```
char str[1024];
FILE* fp = fopen("test.txt", "r");
if (fp) {
if (fgets(str, 1024, fp)) {
printf("input string: %s\n", str);
}
fclose(fp);
}
```
5. scanf:从标准输入(stdin)读取指定格式的数据,一般用于读取单个数据类型,例如整数、浮点数、字符串等。
例子:
```
int a;
scanf("%d", &a);
printf("input number: %d\n", a);
```
6. sscanf:从指定字符串(char*)读取指定格式的数据,一般用于解析字符串中的特定格式的数据。
例子:
```
char str[] = "123 456";
int a, b;
if (sscanf(str, "%d %d", &a, &b) == 2) {
printf("input numbers: %d %d\n", a, b);
}
```
7. fscanf:从指定的文件指针(file pointer)读取指定格式的数据,一般用于读取文件中的特定格式的数据。
例子:
```
int a;
FILE* fp = fopen("test.txt", "r");
if (fp) {
if (fscanf(fp, "%d", &a) == 1) {
printf("input number: %d\n", a);
}
fclose(fp);
}
```
阅读全文