gpt4 book ai didi

c - 二进制操作数无效/(有 'int *' 和 'int' )?

转载 作者:太空狗 更新时间:2023-10-29 15:10:34 26 4
gpt4 key购买 nike

每次我尝试这个:

long crypt(int *integer)
{
printf("Enter five digit integer:\n");
scanf("%i",integer);

int digit1=integer/10000;
int digit2=(integer%10000)/1000;
int digit3=(integer%1000)/100;
int digit4=(integer%100)/10;
int digit5=(integer%10)/1;

const char *digit1c[10];
const char *digit2c[10];
const char *digit3c[10];
const char *digit4c[10];
const char *digit5c[10];

/...
}

(还有更多,但这似乎是问题所在,我会根据要求添加其余部分。)

然后它返回这个错误:

math2.h:44:20: error: invalid operands to binary / (have ‘int *’ and ‘int’)
math2.h:45:21: error: invalid operands to binary % (have ‘int *’ and ‘int’)
math2.h:46:21: error: invalid operands to binary % (have ‘int *’ and ‘int’)
math2.h:47:21: error: invalid operands to binary % (have ‘int *’ and ‘int’)
math2.h:48:21: error: invalid operands to binary % (have ‘int *’ and ‘int’)

我知道这与我用来初始化数字的运算符有关,我确实尝试将它们的类型更改为 int * 但这没有用。那么这里到底发生了什么?

最佳答案

integer 是指向 int (int*) 的指针,所以当你想使用 int它指向,您需要取消引用它:

int digit1=(*integer)/10000; // and so on...

关于c - 二进制操作数无效/(有 'int *' 和 'int' )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8460879/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com