我有一段代码在这里:Printf在完成命令之前打印所有功能?
Tree *rangeprint(Tree *t) {
char first[20];
char last[20];
int f = 0;
int l = 0;
printf("First Entry?\n");
while(1) {
first[f] = getchar();
if(first[f] == '\n') {
first[f] = '\0';
break;
}
f++;
}
printf("Last Entry?\n");
while(1) {
last[l] = getchar();
if(last[l] == '\n') {
last[l] = '\0';
break;
}
l++;
}
printf("%s %s\n", first, last);
}
当我运行该代码时,输出I在控制台得到的是:
First Entry?
Last Entry?
为什么跳过了while循环和打印一切在执行它们之前?
更新 - 我将终止条件更改为'x'而不是'\ n',并且确实足以正确打印。
在循环开始之前添加一个随机的getchar()修复了问题,因为'\ n'被读入到那里。
有没有在这个网站没有代码格式化...... – m0skit0
它应该很容易正确地缩进代码;只需将您的代码复制并粘贴到编辑器中,选中它,然后点击** {} **按钮。 –
它已经被其他人格式化,你只是变得更糟了 –