我使用两种编译器来编译相同的代码:
#include<stdio.h>
int main(){
printf("%c", '\0');
return 0;
}
我将得到mingw和vs2017编译的不同结果。
在mingw中,我可以在控制台中留出空白。但是在vs2017中,我得到了一个字符'a',如下图。
这是vs2017中的bug还是我的vs2017版本太低?
答案 0 :(得分:-1)
这可能与您尝试打印'\0'
字符有关。这可能会导致未定义的行为。您可以尝试仅打印普通字符,例如'A'
,'t'
,'.'
等。