我正在尝试自己学习C,我有点困惑getchar和putchar:
#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)
#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()同时接受int和char或其中一方以及getchar()我们应该使用一个int或char?
好的,所以我正在读这本书: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函数,它将从控制台或文件中接受一个字符,在键入时立即显示它,我们需要Enter按键才能继续.
它返回unsigned char他们阅读的内容.如果遇到文件结束或错误,则getchar()返回EOF.
我的问题是,当它返回时unsigned char,为什么它的返回值存储在int变量中?
请帮我.