int x=y=10为什么不对
1个回答
展开全部
int x=y=10不对原因:声明变量的时候不能连续赋值,因为当系统执行第一个赋值语句的时候,你的y是没有定义的。
int x=10,y; y=x; x=x+1; printf("%d %d",x,y); y=y+1;x++是x=x+1的缩写,属于自加运算,y=x++;由于++写在x的后面。
因此是在y=x的赋值完成后,x再自加,同理printf中的y++也是在调用printf之后y再自加这部分内容只要会分析就可以了,一般如果感觉比较混乱,就老老实实地写,不要随便缩写,省得绕自己。
特点:
连续赋值语句的执行是:只要右边表达式任一个变量有变化,表达式立即被计算,计算的结果立即赋给左边信号。
连续赋值语句之间是并行语句,因此与位置顺序无关。
语法上,有关键词“assign”来标识。
左侧被赋值的数据类型必须是线网型数据(wire)。
连续赋值语句不能出现在过程块中(initial/always)。
连续赋值语句主要用来对组合逻辑进行建模以及线网数据间进行描述。
连续赋值语句产生作用后,赋值表达式中信号的任何变化都将立即被反映到赋值线网型数据的取值上。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询