这可能是一个非常简单的问题,但是由于我很习惯Java,因此我不了解C中的字符如何工作,但是我有以下代码:

char c = 'C';
printf(char2int(c));


指向另一个文件中的函数:

int char2int(char digit){}


但是我在编译时收到此错误:


  传递'char2int'的参数1使指针从整数开始而没有
  强制转换[默认启用]

最佳答案

您不能在C语言中打印这样的整数。此外,我假设您尝试获取char的ASCII码,您可以通过强制转换来获取它。尝试这样的事情:

int char2int(char digit)
{
    return (int)digit;
}

void main()
{
    printf("%d", char2int('c'));
}

关于java - 传递参数使指针从整数开始,而无需从printf进行强制转换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28258485/

10-10 15:13