初学C语言,有个问题不懂

新手上路,请多包涵

题目描述

题目来源及自己的思路

相关代码

double num=2.5;
int num2=(int)num;
printf("num的整数部分是%d\n",num2)

你期待的结果是什么?实际看到的错误信息又是什么?

第二行和第三行的num2写成num为什么就错误了,这里的2为什么要写

阅读 1.8k
3 个回答

在C语言中,变量一经声明,类型就确定了,不能修改啦
且同一程序中任何变量只能声明1次,不能重名

所以第2行声明的变量名中 要加2来区别于第1行已经声明的num

至于第3行,因为是输出格式为%d的数据,这里需要适配一个整型数据,在程序中整型数据变量只有num2,而num是double型变量。

这个问题,让我们重新回顾下变量的定义:

1.变量用于为变量分配存储空间,还可为变量指定初始值。程序中,变量有且仅有一个定义。
2.变量在使用前就要被定义或者声明。
3.在一个程序中,变量只能定义一次,却可以声明多次。
4.定义分配存储空间,而声明不会。

相信看过上面这几句话,你应该已经明白了为什么不能这样做了把,哈哈,真诚的希望我的回答能够帮到你。

已参与了 SegmentFault 思否社区 10 周年「问答」打卡 ,欢迎正在阅读的你也加入。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题