C语言,求过程,极其运行结果?
当从键盘输入18并回车后,下面程序的运行结果是【6】#include"stdio.h"voidmain(){intx,y,i,a[8],j,u,v;scanf(“%d“,...
当从键盘输入18并回车后,下面程序的运行结果是【6】
#include "stdio.h"
void main ( )
{ int x , y , i , a [8 ] , j ,u , v ;
scanf ( “ %d “ ,&x ) ;
y = x ; i = 0 ;
do
{ u = y / 2 ; a [i ] = y % 2 ;
i + + ; y = u ;
} while ( y > = 1 ) ;
for ( j = i – 1 ; j > = 0 ; j - - )
printf ( “ %d “ , a [ j ] ) ; } 展开
#include "stdio.h"
void main ( )
{ int x , y , i , a [8 ] , j ,u , v ;
scanf ( “ %d “ ,&x ) ;
y = x ; i = 0 ;
do
{ u = y / 2 ; a [i ] = y % 2 ;
i + + ; y = u ;
} while ( y > = 1 ) ;
for ( j = i – 1 ; j > = 0 ; j - - )
printf ( “ %d “ , a [ j ] ) ; } 展开
2个回答
展开全部
结果应该是10010
应该就是18的二进制
y%2 是 y的二进制最低位 存入a
y/2是去掉刚才的最低位
比如6的二进制是110
a中的值为011
执行第一遍后u为11 a[0]为0 i为1
后面依些类推
应该就是18的二进制
y%2 是 y的二进制最低位 存入a
y/2是去掉刚才的最低位
比如6的二进制是110
a中的值为011
执行第一遍后u为11 a[0]为0 i为1
后面依些类推
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询