[英]'Lvalue required as increment operand' error in C
这是我的代码片段:
void readandprint(){
int* num = (int*) malloc (10* sizeof(int));
for (int i =0;i<10;i++){
*(num+i) = 0;
}
char c;
while (scanf("%c",&c)==1){
if (c>='0'&&c<='9'){
*(num+c-'0')++ ; //error here
}
}
for(int j = 0;j < 10;j++){
printf("%d ",*(num+j));
}
}
然后我得到了“需要作为增量操作数的左值”错误。 当我用“+=1”替换“++”时,代码工作得很好。 谁能告诉我为什么? 非常感谢您的任何建议。
如果你想增加引用的 int 那么你需要:
(*(num+c-'0'))++
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.