c语言中的显式类型转换

时间:2014-12-08 12:15:27

标签: c

如果我的c代码是

#include<stdio.h>
int main()
{
    int c;
    while((c=getchar())!=EOF)
    {
       putchar(c);
    }
getch();
return 0;
}

我想知道是否将 int c 转换为 char ,或者将输入字符转换为 int 然后存储在c。

3 个答案:

答案 0 :(得分:6)

getchar返回intputchar需要int,因此无需转换。名字char可能会让您感到困惑。但是类型int也允许为ex:EOF

提供一些特殊值

答案 1 :(得分:5)

来自getchar()

man page
int getchar(void);

那么,为什么还要考虑转换呢? getchar()的返回类型为int,存储在int变量中。

同样适用于putchar()

int putchar(int c);

答案 2 :(得分:3)

getchar的返回类型为int,因此在分配中不会进行任何类型转换。