【发布时间】:2011-09-05 04:54:33
【问题描述】:
假设我有一个数字 0 对应于 ASCII 字符 a。如何将0 到25 范围内的数字转换为字母表中的字母?
我已经尝试将97添加到十进制值,但它只是输出数字+97。
typedef enum {
a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z
} set;
void dispSet(set numbers[], int size_numbers) {
int i;
printf("[ ");
for (i = 0; i < size_numbers-1; i++) {
printf("%d, ", ((char) numbers[i])+97);
}
printf("%d ]", ((char) numbers[size_numbers-1])+97);
printf("\n");
}
【问题讨论】:
-
应该将 '%c' 传递给 printf,而不是 %d
-
哇...对我来说很顺利。谢谢!
标签: c integer decimal character