字符数据的输入输出

目录

用putchar函数输出一个字符

用getchar函数输出一个字符

puts|gets函数输入输出一个字符



用putchar函数输出一个字符


`putchar` 函数用于将一个字符输出到标准输出设备(通常是屏幕)。以下是如何使用 `putchar` 函数来输出一个字符的示例:


#include <stdio.h>

int main() {
    char ch = 'A';
    putchar(ch); // 输出字符 'A'

    return 0;
}

在上面的示例中,我们首先定义了一个字符变量 `ch`,并将其赋值为字符 `'A'`。然后,使用 `putchar(ch)` 将字符 `'A'` 输出到标准输出。结果将在屏幕上显示字符 `'A'`。

扫描二维码关注公众号,回复: 16708959 查看本文章

`putchar` 函数接受一个整数参数,该参数表示要输出的字符的ASCII码值。您也可以直接使用字符字面值作为参数,如上面的示例所示。

需要注意的是,`putchar` 函数通常不会自动添加换行符。如果需要输出字符后换行,您可以在 `putchar` 调用之后使用 `putchar('\n')` 输出换行符。


putchar(ch);
putchar('\n'); // 输出字符 'A' 后换行

这将在屏幕上显示字符 `'A'` 并在其后换行。

用getchar函数输出一个字符


`getchar` 函数不是用于输出字符的函数,而是用于从标准输入中获取一个字符的函数。如果您想输出字符,应该使用 `putchar` 或 `printf` 函数。以下是如何使用 `getchar` 函数从用户输入中获取字符并使用 `putchar` 输出它的示例:


#include <stdio.h>

int main() {
    printf("请输入一个字符:");
    int ch = getchar(); // 从标准输入获取一个字符并将其存储在变量 ch 中
    putchar(ch); // 输出获取的字符

    return 0;
}

在上面的示例中,程序首先使用 `printf` 提示用户输入一个字符,然后使用 `getchar` 从标准输入获取一个字符,并将其存储在整数类型的变量 `ch` 中。最后,使用 `putchar` 函数将获取的字符输出到标准输出。

请注意,`getchar` 返回一个整数,因为它可以返回字符的 ASCII 码值,或者在输入结束时返回特殊的值 `EOF`(End of File)。如果您只关心字符而不关心其 ASCII 码值,可以将返回值存储在字符类型的变量中,如上面的示例所示。

如果要连续读取多个字符,可以使用循环。以下是一个示例,演示如何使用 `getchar` 循环读取字符直到输入换行符:


#include <stdio.h>

int main() {
    printf("请输入一行文本:\n");
    int ch;
    
    while ((ch = getchar()) != '\n') {
        putchar(ch);
    }

    return 0;
}

在这个示例中,程序将连续读取字符,直到用户输入换行符(按下 Enter 键),然后将这些字符逐个输出。

puts|gets函数输入输出一个字符


在C语言中,`puts` 和 `gets` 是用于字符串输入和输出的函数。它们是标准C库中的函数,但需要小心使用 `gets` 函数,因为它存在安全风险。

1. **puts函数**:
   - `puts` 函数用于将一个字符串输出到标准输出,并自动添加换行符 (`'\n'`)。
   - 原型:`int puts(const char *str);`
   - 示例:
     puts("Hello, world!"); // 输出字符串并换行

2. **gets函数**:
   - `gets` 函数用于从标准输入获取一行字符串。但需要注意,`gets` 函数在C11标准中已被弃用,不建议使用,因为它存在缓冲区溢出风险。应该使用 `fgets` 函数来更安全地获取一行字符串。
   - 原型:`char *gets(char *str);`
   - 示例(不推荐使用):
     char input[100];
     gets(input); // 获取一行字符串(不建议使用)

虽然 `gets` 函数很简单,但它不能确保输入数据不会导致缓冲区溢出。因此,建议避免使用 `gets` 函数,而改用更安全的 `fgets` 函数。以下是使用 `fgets` 函数来获取一行字符串的示例:


#include <stdio.h>

int main() {
    char input[100];
    printf("请输入一行字符串:\n");
    fgets(input, sizeof(input), stdin); // 获取一行字符串(安全的方式)
    printf("您输入的字符串是:%s", input);

    return 0;
}

在这个示例中,`fgets` 函数安全地获取一行字符串,并将其存储在字符数组 `input` 中。它还会包含换行符,所以您可以使用 `printf` 输出该字符串。

猜你喜欢

转载自blog.csdn.net/qq_50942093/article/details/132913561
今日推荐