c语言不给变量赋值能通过编译吗,编译和运行有什么区别

我在电脑上尝试了下图的代码,结果显示无法运行,想问问各位是什么情况以及编译和运行有什么区别

img

img

可以的,初学者最好别用vs,各种报错,用dev就行

编译肯定能通过,只是肯定有警告错误而已,最后的结果,k的确会是0

这是合法的C程序,可以编译运行。只不过现代编译器都比较高级,查错能力更强。一般来说对于使用未初始化局部变量都是有问题的,因此比较新的编译器对此都会给出警告甚至错误。