错题笔记:int a=b=1这样定义为什么是错误的
2024-10-22 05:17:30
C语言中定义同一类型的多个变量必须以逗号分隔。如:
int a,b,c ;
=在C语言中是赋值运算符,等号左边的变量,必须是已以定义好的变量才可以。
int a=b=1 ; 中,若b已经定义,则是正确的。否则,b未定义,这样写就错了。如:
int b; //少了这个定义,下面就不对了。
int a=b=1 ;
如果想同时定义多个变量,并对变量初始化,则应该写成:
int a=1, b=1; //中间以逗号分隔。
//-----------------------------------------------------------------------------------
- 因为机器是这样翻译的:先把1赋值给b,再把b赋值给a,中间的那个b,它认为是未定义的。
你可以这样写:int a,b;a=b=1; - 这样只定义了a的类型为int。那么b是什么类型呢?编译器不知道。既然类型都不知道怎么可能把b的值赋给a呢?
可以这样写int a,b ;a=b=1;这样就没错了。
最新文章
- 封装一个mysql类(ggshop)
- tcp 之失败重传机制
- python3验证码机器学习
- 如何判断exe或dll的目标平台及是否是.NET?
- 【Android】[转] Android Handler应设为static
- JAVA CAS原理
- 项目FAQ
- C语言初学 数学中带根号的复杂计算问题
- linux vim taglist config
- SSIS 实例 从Ftp获取多个文件并对数据库进行增量更新。
- Jax-ws 开发webService ,并使用spring注入service类
- 一、OpenStack入门 之 初步认识
- Softmax多分类算法
- WPF DataTriger 用法示例代码
- 状压dp(状态压缩&;&;dp结合)学习笔记(持续更新)
- shell的进度条【转】
- 【数学建模】灰色系统理论II-Verhulst建模-GM(1,N)-GM(2,1)建模
- 【Java】 剑指offer(11) 矩阵中的路径
- Windows和MacOS的比较——不断完善和补充,欢迎吐槽
- TotoiseSVN 使用参考文章