C函数中未声明的标识符 [英] Undeclared identifier in C function

查看:0
本文介绍了C函数中未声明的标识符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我编译以下C函数/程序时,我收到类似"missing ';' before 'type' 'remainder' : undeclared identifier"的错误-此函数有什么问题?

#include <stdio.h>

void conversionTo(int number,int base) {
  if(number==0)
    return;

  int remainder=number%base;    
  conversionTo((number/base),base);
  if(remainder<10)
    printf("%c",'0'+remainder);
  else
    printf("%c",'a'-10+remainder);
}   


int main() {
    conversionTo(int number,int base);
    return 0;
}

推荐答案

我不是C语言专家,但根据很久以前的经验,我认为不能在函数中间声明变量。

此外,还不清楚您试图如何处理Function/Print语句。

试试:

#include <stdio.h>

void conversionTo(int number,int base) {
  int remainder=number%base;
  if(number==0)
    return;    

  conversionTo((number/base),base);
  if(remainder<10)
    printf("%c",'0'+ remainder); // Through the way ASCII works that gives the ASCII rep
                                 // of the remainder.
  else
    printf("%c",'a'-10+remainder); // Hex digits (A-F).
}   


int main() {
    conversionTo(/*Any number here*/10, /*any base number here*/2);
    return 0;
}

这篇关于C函数中未声明的标识符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆