【发布时间】:2019-10-24 18:59:46
【问题描述】:
int main() {
char a1, a2;
printf("input values here: ");
scanf(" %c%c ", &a1, &a2);
printf("%c%c",a1,a2);
}
我试图了解 scanf 在一次输入两个字符时是如何工作的。例如,在使用 14 的终端中运行此程序后,我曾期望将 1 分配给 a1,将 4 分配给 a2,但它不起作用。鉴于我必须将例如“a4”的终端输入分成两个单独的字符,我将如何去做呢?任何见解将不胜感激。
./main
input values here: 14
【问题讨论】:
-
" %c%c "==>" %c%c"末尾没有空格 -
是的,非常感谢。
-
检查 return 消除所有谜团,并准确告诉您发生了哪些转换,哪些没有发生。 man 3 scanf 解释其余部分。