永发信息网

C语言新手问题 关于十与二进制转换

答案:3  悬赏:0  手机版
解决时间 2021-05-17 06:14

我的编写:

#include<stdio.h>
int ten(int n)
{
 int i,f=1;
 for(i=0;i<n;i++)
  f*=10;
 return(f);
}

int ttt(int num)
{
 int n,a[16]={0},i,res=0;
 for(n=0;;)
 {
  a[i]=num%2;
  n++;
  if(num/2==0)break;
  num=num/2;
 }
 for(i=15;i=0;i--)
  res+=(ten(i)*a[i]);
 return(res);
}


main()
{
 int a;
 printf("输入初始值:\n");
 scanf("%d",&a);
 printf("初值为:%d\n",a);
 a=ttt(a);
 printf("其二进制值为:%d\n",a);
}

执行的时候可以运行,但是到一半就显示 指令引用的内存不能为WRITTEN

请教是哪出错了,谢谢

最佳答案
将a[i]=num%2;改为a[n]=num%2
全部回答
for(i=15;i=0;i--)        //应该是 i>=0吧
  res+=(ten(i)*a[i]);

#include<stdio.h> int ten(int n) {  int i,f=1;  for(i=0;i<n;i++)   f*=10;  return(f); }

int ttt(int num) {  int n,a[16]={0},i,res=0;  for(n=0;;)  {   a[n]=num%2;   n++;   if(num/2==0)break;   num=num/2;  }  for(i=15;i>=0;i--)   res+=(ten(i)*a[i]);  return(res); }

main() {  int a;  printf("输入初始值:\n");  scanf("%d",&a);  printf("初值为:%d\n",a);  a=ttt(a);  printf("其二进制值为:%d\n",a); }

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
如果别人强你东西怎么办
能不能放弃现在一切的一切,重新开始…
怎么看一个人的微信号,怎样通过微信找一个人
怎么放狠话?
华龙区濮阳胡记火锅地址有谁知道?有点事想过
阳台种什么爬藤植物好,阳台上养什么花好???
哪个音乐网站的歌比较全啊
杭州离中国计量学院较近的iphone专业维修点
宫心计33集-宫心计国语33集-宫心计33集国语版
大家谁帮帮我在山东省找个正规国家的中专学校
向阳区佳木斯昆仑好客便利店这个地址怎么能查
萧潇《我想为你淋雨》歌词
梦幻诛仙 抓鬼要怎么抓?
中国地势的主要特点是什么?
执业助理医师(临床)是不是很难考?要什么时
推荐资讯
长沙县长沙智多星培训学校这个地址怎么能查询
没女朋友家人催我结婚该怎么办!?
鄂城区鄂州惠安堂大药房(文星大道)在什么地方
夷陵区宜昌欧冠意大利披萨(小溪塔店)在哪里啊
黄陂区武汉牵手造型地址在哪里啊
土匪用英语怎么说?
古代皇帝中哪位开国皇帝所杀功臣最少?
江汉区武汉名发世家集团葆芙曼国际美容美发(
脖子老是疼还头疼那是为什么啊?
荷叶茶怎么泡?可以怎么搭配?
为什么对方发消息我不知道
梦见骆驼追我,啥意思呢?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?