当前位置: 代码迷 >> C语言 >> [求助]这两道循环的题怎解?
  详细解决方案

[求助]这两道循环的题怎解?

热度:254   发布时间:2007-05-25 17:22:27.0
以下是引用fishlover在2007-5-22 0:26:44的发言:

if(i) 这个怎么解释来着??

不懂

if(i)
当i==0时候条件语句不成立
当i!=0的时候是真值1条件语句成立并执行。。
和我楼上的说的差不多~


----------------解决方案--------------------------------------------------------

#include<stdio.h>
#include<stdlib.h>

int main()
{
int i=2,j=2;
if(i)//相当与if(i!=0)
{
if(j==2)
{
i++;
j++;//经过前面两句i 和 j 的值都改变了,i=3 j=3
printf("\ni+j=%d",i+j);//所以i+j=6
}
}
if(i)//同上if(i) 这里i=3
{
for(j=1;j<i-1;j++)//j<i-1 相当于j<2 又由于j=1 所以这个循环就只执行一次
{
if(j==i)//由于i始终为3 所以永远不执行这句
{
printf("\nj=%d\n",j);
}
else
{
printf("\nOK! GOOD! \n");// if(j==i)//由于i始终为3 所以永远不执行这句 这是上面那个注释 现在你应该可以  知道答案了吧
}
}
}

system("pause");
return 0;
}


----------------解决方案--------------------------------------------------------

#include<stdio.h>
#include<stdlib.h>


int main()
{
long data;

printf("enter date:");
scanf("%ld",&data);

while(data)//知道date=date/10=0为止
{
printf("%ld\n",data%10);// 我就拿前两次为例 12345%10=5
data=data/10;// 12345/10=1234 以此类推 最后一次呢 就是1%10=1 然后1/10=0 结束循环
}

system("pause");
return 0;
}


----------------解决方案--------------------------------------------------------
  相关解决方案