这里面答案写的是c但是我感觉a也是对的,希望有位少侠能解答一下。

若变量 a,i 已正确定义,且 i 已正确赋值,合法的语句是()。
A. a=int(i);
B. a==1
C. ++i;
D. a=a++=5;

我测试了下,int(a)这个写法,在C++里存在,但是在C语言里,只能写
a=(int)i;
这是C++

img

这是C

img

【以下回答由 GPT 生成】

问题的选项中,合法的C语言语句是C选项,即++i。

A选项中的语句a = int(i)是不合法的,因为在C语言中,没有直接的方法将一个变量的类型转换为int,可以使用类型转换操作符将变量转换为int类型。

B选项中的语句a == 1是一个比较语句,不是一个合法的完整语句,需要在其后加上分号来表示语句的结束。

C选项中的语句++i是合法的,它是对变量i进行递增操作,即将i的值加1。

D选项中的语句a = a++ + 5是不合法的。在C语言中,对于++运算符,先使用再递增;而后置++运算符的值是在递增之前的值,所以在这个语句中,会导致未定义行为。

所以,答案是C选项,即++i是一个合法的C语言语句。



【相关推荐】



如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^