一个超级简单的c语言程序题!!在线等!!!!
#include<stdio.h>main(){intk,n,m;n=10;m=1;k=1;while(k++<=n)m*=2;printf("%d\n",m);}我的理...
#include <stdio.h>
main()
{ int k,n,m;
n=10;m=1;k=1;
while(k++<=n)m*=2;
printf("%d\n",m);
}
我的理解是:
k=2 m=2
k=3 m=4
k=4 m=8
k=5 m=16
k=6 m=32
k=7 m=64
k=8 m=128
k=9 m=256
k=10 m=512
所以最后输出结果应该是512啊,为什么是1024,?求详解!!!!! 展开
main()
{ int k,n,m;
n=10;m=1;k=1;
while(k++<=n)m*=2;
printf("%d\n",m);
}
我的理解是:
k=2 m=2
k=3 m=4
k=4 m=8
k=5 m=16
k=6 m=32
k=7 m=64
k=8 m=128
k=9 m=256
k=10 m=512
所以最后输出结果应该是512啊,为什么是1024,?求详解!!!!! 展开
6个回答
展开全部
1*2*2*2*2*2*2*2*2*2*2=1024
那个循环执行了10次 肯定是1024啊 怎么可能是512 大兄弟
进入第一次K是等于1的 不是等于2 。
K++ 和 ++K 的关系。 如果是++K 就是你那个逻辑了
那个循环执行了10次 肯定是1024啊 怎么可能是512 大兄弟
进入第一次K是等于1的 不是等于2 。
K++ 和 ++K 的关系。 如果是++K 就是你那个逻辑了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
k++是先使用后+1,这里当k=10的时候,还是要进行循环,循环完后k=11跳出循环。
运行结果应该是:
m k
2 2
4 3
8 4
16 5
32 6
64 7
128 8
256 9
512 10
1024 11
运行结果应该是:
m k
2 2
4 3
8 4
16 5
32 6
64 7
128 8
256 9
512 10
1024 11
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
main()
{ int k,n,m;
n=10;m=1;k=1;
while(k++<=n) //循环从1~10
m*=2; //m=m*2。 1:m为2。 2:m为4. 即2的k次方。。所以2的10次方是1024
printf("%d\n",m);
}
main()
{ int k,n,m;
n=10;m=1;k=1;
while(k++<=n) //循环从1~10
m*=2; //m=m*2。 1:m为2。 2:m为4. 即2的k次方。。所以2的10次方是1024
printf("%d\n",m);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
while(k++<=n)m*=2;
本代码相当于:
while(k<=n)
{
k++;
m*=2;
}
希望能帮到你。
本代码相当于:
while(k<=n)
{
k++;
m*=2;
}
希望能帮到你。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询