相关疑难解决方法(0)

getchar/fgetc和putchar/fputc中int和char的区别?

我正在尝试自己学习C,我有点困惑getcharputchar:

1

#include <stdio.h>

int main(void)
{
    char c;
    printf("Enter characters : ");
    while((c = getchar()) != EOF){
      putchar(c);
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

2

#include <stdio.h>

int main(void)
{
    int c;
    printf("Enter characters : ");
    while((c = getchar()) != EOF){
      putchar(c);
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

C库函数int putchar(int c)将参数char指定的字符(unsigned char)写入stdout.

C库函数int getchar(void)从stdin获取一个字符(一个unsigned char).这相当于以stdin作为参数的getc.

这是否意味着putchar()同时接受intchar或其中一方以及getchar()我们应该使用一个intchar

c

25
推荐指数
1
解决办法
5595
查看次数

int c = getchar()?

好的,所以我正在读这本书:C编程语言 - 由Kernighan和Ritchie(第二版)和其中一个例子我很难理解事情是如何工作的.

#include <stdio.h>

#define MAXLINE 1000

int getline(char line[], int maxline);
void copy(char to[], char from[]);

int main(int argc, char *argv[])
{
    int len;

    int max;
    char line[MAXLINE];
    char longest[MAXLINE];

    max = 0;
    while((len = getline(line, MAXLINE)) > 1)
    {
        if(len > max)
        {
            max = len;
            copy(longest, line);
        }
    }
    if(max > 0)
        printf("%s", longest);

    getchar();
    getchar();
    return 0;   
}

int getline(char s[], int lim)
{
    int c, i;

    for(i = 0; i < lim - 1 …
Run Code Online (Sandbox Code Playgroud)

c getchar

22
推荐指数
3
解决办法
5万
查看次数

为什么用于保存getchar的返回值的变量必须声明为int?

我是C编程语言的初学者,最近我研究了getchar函数,它将从控制台或文件中接受一个字符,在键入时立即显示它,我们需要Enter按键才能继续.

它返回unsigned char他们阅读的内容.如果遇到文件结束或错误,则getchar()返回EOF.

我的问题是,当它返回时unsigned char,为什么它的返回值存储在int变量中?

请帮我.

c function

16
推荐指数
1
解决办法
994
查看次数

标签 统计

c ×3

function ×1

getchar ×1