【发布时间】:2015-04-21 06:07:12
【问题描述】:
我有一个函数PutChar(int, int, char),它在给定的行和列打印出给定的字符。如果我传递一个字符,这个函数就可以正常工作。我还希望能够将 0-9 范围内的 int 传递给函数并让它打印实际的 int 值。例如,我想用下面的代码打印 int x 的实际值:
int x = 5;
PutChar(1, 1, x);
void PutChar(int row, int col, char ch) {
char str[20];
sprintf(str, "\e[%d;%dH", row, col); // move cursor to row-col
write(1, str, strlen(str));
write(1, &ch, 1);
}
在将 int 传递给函数时,我尝试强制转换为 char,但它会打印出奇怪的字符。
编辑:可以打印的整数范围是 0-9。这是一个家庭作业,所以我无法更改函数的原型。
【问题讨论】:
-
是修改
PutChar还是直接输出1位整数?