确实不同编译器不一样啊
选D的理解就是第一个k++先输出,k的值为3,然后k再加1为4。再输出第二个++k,先k加1为5,然后再输出
如果有用,望采纳,谢谢!
printf中出现了 k++ 和 ++k,k++是先取k的值再让k自加1,所以第一个打印的是3,此时k是4,程序继续往右走,遇到++k,++k是先让k自加1,再取k值,k是4,自加1是5,再取就是5,所以第二个打印5。
这仅代表我个人想法,首先c语言读程序是按顺序的,k++代表先把k值输出在加1,++k是自加1之后输出,其次printf先输出第一个k的时候就是3,然后他在+1返回到程序里在进行++k,然后在输出就变成了5.