1

在我的操作系统代码中的 C 程序中(在内核端),我试图用来kprintf打印一个字符,但是即使我这样做了,它也会打印它以及一些包含这四个小圆圈的块字符。

kprintf(&ch);

有谁知道这里发生了什么?

4

1 回答 1

6

printf()函数系列采用格式字符串,它告诉您要打印的内容。您不能直接打印一个字符,因为printf()(或kprintf()视情况而定)将继续读取,就好像它是一个字符串一样。你想要这样的东西:

kprintf("%c", ch);

格式字符串告诉printf()我们期望的附加参数。在这种情况下,%c表示一个字符参数。

于 2013-03-18T20:08:45.753 回答