我使用两种编译器来编译相同的代码:
#include<stdio.h>
int main(){
printf("%c", '\0');
return 0;
}
我将得到mingw和vs2017编译的不同结果。
在mingw中,我可以在控制台中留出空白。但是在vs2017中,我得到了一个字符'a',如下图。
这是vs2017中的错误还是我的vs2017版本太低?
最佳答案
这可能与您尝试打印'\0'
字符有关。这可能会导致未定义的行为。您可以尝试仅打印普通字符,例如'A'
,'t'
,'.'
等。
关于c - 为什么mingw和vs 2017中的printf(“%c”,'\0')现在有区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53075502/