永发信息网

为什么这个输不出!c语言的 #include <studio.h> main( ) { int a,i,b[100]; scanf("%d",&

答案:6  悬赏:30  手机版
解决时间 2021-01-24 16:42
  • 提问者网友:锁深秋
  • 2021-01-24 08:52
为什么这个输不出!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]);
}
最佳答案
  • 五星知识达人网友:梦中风几里
  • 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;
}
全部回答
  • 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); }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯