木木哈慕 2021-06-21 19:37 采纳率: 50%
浏览 24
已采纳

我想问一下星p-'0'是什么意思呢?还有他的k为什么是这样算的呢?

#include<stdio.h>
int convert(char *p)
 {/****/
    int k;
    k=*p-'0';
    while(*++p)
    {
        k=k*8+*p-'0';
    }
    return k;
  /****/}
main()
{
    char s[6];void NONO();
    int a;
    printf("请输入一个8进制数字的字符串: ");
    gets(s);
    
    a=convert(s);
    printf("%d\n",a);
    NONO();
}

void NONO()
{
  FILE *rf, *wf; int a=0;
    char s[6];
    rf=fopen("d:\\programC\\3\\in.dat","r");
    wf=fopen("d:\\programC\\3\\out.dat","w");
    for(int i=0;i<5;i++)
    {
      
      fscanf(rf,"%s",s);
      a=convert(s);
      fprintf(wf,"%d\n",a);
    
    }
    fclose(rf);
    fclose(wf);
}

  • 写回答

2条回答 默认 最新

  • 水星程序店 2021-06-21 19:44
    关注

    一个字符类型的数,比如 '2',它减去 '0' 之后,就变成整数类型的  2,就可以进行计算了,与强制类型转换效果相同。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿