c语言中什么是赋值?什么是错?

如题所述

对于如下说明,语法和语义都正确的赋值是:C、s=&a[1];

A、语法上正确(可能引起编译警告)。若非静态变量或全局变量,否则s没有被初始化,是随机值,*s的值无法确定,即没有确定的语义;若是静态变量或全局变量,s被初始化为0,对地址0的解引用操作没有确定的语义。

B、错误。理由同上,对随机地址的操作不具有确定的语义(s[0]等价于*s)。另外对随机地址单元的写操作(赋值)引起的后果不可预料。

C、正确,将a[1]的地址赋值给指针s。

D、语法错误,c(int)和a(const int*)的类型不匹配,会引起编译错误。

扩展资料:

将确定的数值赋给变量的语句叫做赋值语句。各程序设计语言有自己的赋值语句,赋值语句也有不同的类型。所赋“值”可以是数字,也可以是字符串和表达式。

例如,给变量a赋值一个数为12,则格式为:a = 12 [注意:变量(即a)只能是一字母,而赋予的值可以是一个式子,当它是式子时,a的值就是这个式子的结果。

温馨提示:答案为网友推荐,仅供参考
相似回答