为什么在mingw和vs 2017中的printf(“%c”,'\ 0')现在有区别?

时间:2018-10-31 02:38:06

标签: c visual-studio mingw

我使用两种编译器来编译相同的代码:

#include<stdio.h>

int main(){
    printf("%c", '\0');
    return 0;
}

我将得到mingw和vs2017编译的不同结果。
在mingw中,我可以在控制台中留出空白。但是在vs2017中,我得到了一个字符'a',如下图。

It may not print correctly.

这是vs2017中的bug还是我的vs2017版本太低?

1 个答案:

答案 0 :(得分:-1)

这可能与您尝试打印'\0'字符有关。这可能会导致未定义的行为。您可以尝试仅打印普通字符,例如'A''t''.'等。