为什么这个输不出!c语言的
#include <studio.h>
main( )
{
int a,i,b[100];
scanf("%d",&a);
for(i=0;a!=0;b[i]=a%2,a=a/2,i++)
printf("%d",b[i]);
}
为什么这个输不出!c语言的 #include <studio.h> main( ) { int a,i,b[100]; scanf("%d",&
答案:6 悬赏:30 手机版
解决时间 2021-01-24 16:42
- 提问者网友:锁深秋
- 2021-01-24 08:52
最佳答案
- 五星知识达人网友:梦中风几里
- 2021-01-24 09:44
#include <stdio.h>
int main( )
{
int a,i,b[100];
scanf("%d",&a);
for(i=0;a!=0;b[i]=a%2,a=a/2,i++);
for(i=i-1;i>=0;i--)
printf("%d",b[i]);
getchar();
getchar();
return 0;
}
int main( )
{
int a,i,b[100];
scanf("%d",&a);
for(i=0;a!=0;b[i]=a%2,a=a/2,i++);
for(i=i-1;i>=0;i--)
printf("%d",b[i]);
getchar();
getchar();
return 0;
}
全部回答
- 1楼网友:迷人又混蛋
- 2021-01-24 10:51
%d 是一个占位符,不能给数组输出的?
- 2楼网友:掌灯师
- 2021-01-24 10:38
a%2输出0,1
所以b[100]只能输出前2个数
- 3楼网友:鸽屿
- 2021-01-24 10:16
数组b没有初值,for循环里面的赋值是不能这么使用的,建议减轻for循环,将b在for循环外面赋值
- 4楼网友:独行浪子会拥风
- 2021-01-24 10:05
我只能告诉你,d肯定大于等于0
- 5楼网友:鸠书
- 2021-01-24 09:57
因为你第一行输错了,应该使用英文的<,而且里面是stdio.h,我修改后能正常运行的程序如下:
#include <stdio.h>
main( )
{
int a,i;
scanf("%d",&a);
for(i=0;a!=0;a=a/2,i++) printf("%d",a%2);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯