int main() {
    char first,second,third,fourth,fifth;
    scanf("%c %c %c %c %c",first,second,third,fourth,fifth);
    printf("%c%c%c%c%c",first,second,third,fourth,fifth);
    getch();
    return 0;
}

上面的程序编译时没有任何错误(GNU-GCC),但在执行时会最小化“当前窗口”,并在没有任何错误的情况下再次终止。为什么?
更新
int main() {
    char first,second,third,fourth,fifth;
    scanf("%c %c %c %c %c",&first,&second,&third,&fourth,&fifth);
    printf("%c%c%c%c%c",first,second,third,fourth,fifth);
    getch();
    return 0;
}

上面的代码是在收到应答后更改的,但是仍然以相同的方式运行,只是编译器这次确实抛出了任何错误甚至警告。

最佳答案

因为您将未初始化的值作为指针传递到scanf。尝试

scanf("%c %c %c %c %c", &first, &second, &third, &fourth, &fifth);

10-07 18:06