题目描述
题目来源及自己的思路
相关代码
double num=2.5;
int num2=(int)num;
printf("num的整数部分是%d\n",num2)
你期待的结果是什么?实际看到的错误信息又是什么?
第二行和第三行的num2写成num为什么就错误了,这里的2为什么要写
double num=2.5;
int num2=(int)num;
printf("num的整数部分是%d\n",num2)
第二行和第三行的num2写成num为什么就错误了,这里的2为什么要写
在C语言中,变量一经声明,类型就确定了,不能修改啦
且同一程序中任何变量只能声明1次,不能重名
所以第2行声明的变量名中 要加2来区别于第1行已经声明的num
至于第3行,因为是输出格式为%d的数据,这里需要适配一个整型数据,在程序中整型数据变量只有num2,而num是double型变量。
这个问题,让我们重新回顾下变量的定义:
1.变量用于为变量分配存储空间,还可为变量指定初始值。程序中,变量有且仅有一个定义。
2.变量在使用前就要被定义或者声明。
3.在一个程序中,变量只能定义一次,却可以声明多次。
4.定义分配存储空间,而声明不会。
相信看过上面这几句话,你应该已经明白了为什么不能这样做了把,哈哈,真诚的希望我的回答能够帮到你。
已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。
3 回答1.1k 阅读✓ 已解决
1 回答975 阅读✓ 已解决
4 回答763 阅读
1 回答840 阅读
1 回答872 阅读
1 回答643 阅读
1 回答743 阅读
变量不能同名