yihayoooooo 发表于 2020-6-7 19:35:42

数据类型

#include <stdio.h>

int fun(char *p)
{
    int n = 0;
    while(*(p) != ‘\0’)
        {
          n = n*8+*P-'0';
                p++;
        }
           return n;







}

//声明函数
void NONO ();

int main( )
{
        char *p,s;
        p=s;
        printf("请输入数字字符串:");
        gets(p);
        printf("转换成十进制的结果为:%d\n",fun(p));

        NONO ();
        return 0;
}

void NONO()
{/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */
        FILE *rf, *wf ;
        int i;
        char *q,m;
       
        rf = fopen("in.dat", "r") ;
        wf = fopen("out.dat", "w") ;
        for(i = 0 ; i < 6 ; i++) {
                fscanf(rf, "%s", m) ;
        }
        q=m;
        fprintf(wf, "%d\n",fun(q) ) ;
        fclose(rf) ; fclose(wf) ;
}



把八进制转为十进制,请问这个哪里错了,怎么改?

谢谢!

yihayoooooo 发表于 2020-6-9 13:17:17

小甲鱼的铁粉 发表于 2020-6-8 13:56
我也是不知道这个楼主发帖的目的是什么


这是题目
#include <stdio.h>

int fun(char *p)
{







}

//声明函数
void NONO ();

int main( )
{
        char *p,s;
        p=s;
        printf("请输入数字字符串:");
        gets(p);
        printf("转换成十进制的结果为:%d\n",fun(p));

        NONO ();
        return 0;
}

void NONO()
{/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */
        FILE *rf, *wf ;
        int i;
        char *q,m;
       
        rf = fopen("in.dat", "r") ;
        wf = fopen("out.dat", "w") ;
        for(i = 0 ; i < 6 ; i++) {
                fscanf(rf, "%s", m) ;
        }
        q=m;
        fprintf(wf, "%d\n",fun(q) ) ;
        fclose(rf) ; fclose(wf) ;
}

然后这是参考答案
int fun(char *p)
{
   int n=0;
   while(*(p) !='\0')
   {
             n=n*8+*p-'0';
             p++;
      }
      return n;
}

我不知道题目要填什么{:10_266:}

xiaosi4081 发表于 2020-6-7 20:40:10

发报错内容

yihayoooooo 发表于 2020-6-8 13:38:23

xiaosi4081 发表于 2020-6-7 20:40
发报错内容

小甲鱼的铁粉 发表于 2020-6-8 13:56:23

xiaosi4081 发表于 2020-6-7 20:40
发报错内容

我也是不知道这个楼主发帖的目的是什么

yihayoooooo 发表于 2020-6-9 13:04:33

小甲鱼的铁粉 发表于 2020-6-8 13:56
我也是不知道这个楼主发帖的目的是什么

就是问怎么改。。
页: [1]
查看完整版本: 数据类型