c语言的困惑

不爱吃酸的大力水手 2012-11-26 01:16:09
#include<stdio.h>
#include<stdlib.h>

int main()
{
int fahr,celsius;
int lower,upper,step;
lower=0;
upper=300;
step=20;

fahr=lower;
while(fahr<=upper)
{
celsius=5*(fahr-32)/9;
printf("%d\t%d\n",fahr,celsius);
fahr=fahr+step;
system("pause");
}
}
在这个程序中,为什么要写fahr=lower,这个代码,而且为什么它只能放在这个位置,不能放在最后??
...全文
182 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xxb249 2012-11-26
  • 打赏
  • 举报
回复
根据具体需求来确定 应该负什么值 进行初始化操作
  • 打赏
  • 举报
回复
就是这个赋值问题,我不懂啊
  • 打赏
  • 举报
回复
这个我有点不太懂啊!!!
金刚葫芦娃 2012-11-26
  • 打赏
  • 举报
回复

int i;
此时只是为i申请了一块int大小的内存地址.所存放的不知道为何值.

i = 0;
while(i < 10)  //这里需要给i赋值,以免出现问题.
{
   i++;
   printf("i = %d \n",i);
}

for(i = 0;i < 10;i++)  //这里不需要提前赋值,因为if语句已经赋初始值为0了
{
  i++;
  printf("for i = %d \n",i);
}
  • 打赏
  • 举报
回复
哦,知道了,谢谢大家
金刚葫芦娃 2012-11-26
  • 打赏
  • 举报
回复
可以直接用lower,但是后边会改变,lower的作用是保存初始值而已.
  • 打赏
  • 举报
回复
在这里是不是只有fahr是循环控制变量,而且是不是循环控制变量初始化都要赋值??
whizer 2012-11-26
  • 打赏
  • 举报
回复
给fahr赋初始值,开始循环.
lilianjie001 2012-11-26
  • 打赏
  • 举报
回复
只是给fahr赋初始值而已,不用fahr而用lower完全完全可以。
breakfisher 2012-11-26
  • 打赏
  • 举报
回复
int fahr; fahr=lower; while(fahr<=upper) 在这个循环里,应该是从lower开始,到upper结束。fahr作为循环控制变量,肯定要在循环的前面先赋初值, 如果没有赋初值,循环的开始就是一个不确定的点
转角天边 2012-11-26
  • 打赏
  • 举报
回复
给fahr赋初始值 感觉直接用lower就可以了

69,381

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧