若变量 a,i 已正确定义,且 i 已正确赋值,合法的语句是()。
A. a=int(i);
B. a==1
C. ++i;
D. a=a++=5;
我测试了下,int(a)这个写法,在C++里存在,但是在C语言里,只能写
a=(int)i;
这是C++
这是C
【以下回答由 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语言语句。
【相关推荐】