c 用gechar() 接收的字符都是asci码 怎么转换一下
#include <stdio.h>
#define CHARNUM10/* 字符0-9 */
#define CHARTOTALNUM20/* 每个字符出现的次数 */
#define SHOW1/* 字符出现过 */
#define HIDE0/* 字符未出现过*/
main(int argc, const char *argv[])
{
int i,j,position[CHARNUM][CHARTOTALNUM],flag;
char c;
for (i = 0; i < CHARNUM; i++) {
for (j = 0; j < CHARTOTALNUM; j++) {
position[i][j] = 0;
}
}
while ((c =getchar()) != '\n') {
printf("%d\n",c);
}
}
[解决办法]
printf("%c\n",c);
[解决办法]
数字字对应的值? C-48
[解决办法]
getchar的返回值是int,不全是.
[解决办法]
char c = 'a';
int code = c;
printf("%d : %c", code, c);
[解决办法]
看看ascii码表就知道咋回事了,所谓的字符本身也是一个数值,只不过你要求系统按照字符输出(格式化参数是"%c")而已,你想让他输出本身的ascii码值就用%d或其他格式控制。
[解决办法]
电脑内存只是一个一维二进制字节数组及其对应的二进制地址;
人脑才将电脑内存中的这个一维二进制字节数组及其对应的二进制地址的某些部分看成是整数、有符号数/无符号数、浮点数、复数、英文字母、阿拉伯数字、中文/韩文/法文……字符/字符串、函数、函数参数、堆、栈、数组、指针、数组指针、指针数组、数组的数组、指针的指针、二维数组、字符点阵、字符笔画的坐标、黑白二值图片、灰度图片、彩色图片、录音、视频、指纹信息、身份证信息……
[解决办法]
1楼的不是告诉你了吗?
把最后一行代码printf("%d\n",c);里面的%d改成%c