您好,我是编程新手,请多多包涵。
我想制作一个接受输入 bcdefghijklmnopqrstuvwxy
并输出
的程序
else if (c == 'x')
++nx;
其中 x 是输入的一个字母,输出对输入的每个字母重复。
这是我到目前为止写的:
#include <stdio.h>
main() {
int c;
while((c = getchar()) != EOF) {
printf("else if (c == '%d')\n", c);
printf("\t++n%d;\n", c);
}
return 0;
}
不是返回我想要的输出,而是输出
else if (c == '98')
++n98;
else if (c == '99')
++n99;
else if (c == '100')
++n100;
else if (c == '101')
++n101;
else if (c == '102')
++n102;
...
为什么 c
不能用作变量?
非常感谢您的帮助!
您希望 c == '%c'
按字符比较或 c == %d
(不带单引号)按序数值比较,但是您应该真正学会使用数组。看起来您正在尝试以困难的方式编写代码,并使用代码生成器来节省您的输入时间。相反:
int n[256] = {0}; /* storage for counters, initialized to zero */
和:
n[c]++; // increment the counter for character c;
您的代码会短得多。
我是一名优秀的程序员,十分优秀!