【发布时间】:2021-09-28 16:46:57
【问题描述】:
我是 c 新手,对它了解甚少,但据我了解,此代码应该打印我输入的字符(它应该打印两次),或者打印我的字符的位的数字表示我的角色(在再次要求输入 100 个循环之前)但它似乎两者都没有。
而是打印一些随机数(我假设表示为数字),然后是字母,然后是 10。
我正在使用 gcc 在 wsl 上运行的 ubuntu 18.04 上编译它,如果这有什么不同的话。再一次,我是个新手,所以我不知道这是否是一个可能的错误点。
这是我的代码:
#include <stdio.h>
int c;
int main() {
for(int x =0; x < 100; x++){
c = getchar();
printf("%d", c);
putchar( c );
}
}
示例:
输入:f
输出:102f10
或
输入:r
输出:114r10
【问题讨论】:
-
在字符之前打印的数字(因为你使用了
%d)是它的ASCII value。getchar()函数返回一个字符 (char)。所以它应该存储在 char 类型的变量中,而不是 int 中。
标签: c char newline getchar putchar