我试图编写一个用户必须写两个不同字符串的程序,但在输入第一个字符串后,程序结束。 这是代码:
int i=0, N=100;
char car, v1[N+1], v2[N+1];
printf("Insert the first string: \n");
while ((car=getchar())!=EOF) {
v1[i]=car;
i++;
}
i=0;
printf("Insert the second string: \n");
while ((car=getchar())!=EOF) {
v2[i]=car;
i++;
}
理论上,在写完第一个字符串后,我按下CTRL-D(在Mac上,它与CTRL-Z相同),它应该打印"插入第二个字符串"并允许我写下来。
实际发生的是我必须再次按下CTRL-D(因为它没有输出第二个printf),此时程序结束,并输出(在我写的第一个字符串之后)&# 34;插入第二个字符串",但我不能写它!
你能帮我吗?