请看一下代码,clang给了我错误“从'void *'赋值到'int'的整数转换指针不兼容“,为什么会发生这种情况?
{
#include <stdio.h> //use printf
#include <stdlib.h> //use random
#include <time.h> //use time
#define MaxData 100 // Define Max Data
#define MaxRow 10 // 0..9 in Decimal base
#define MaxCol 20 // 0..19
int Data[MaxData];
int Radix[MaxRow][MaxCol]; // Radix is temporary tank. The size is[ 0..MaxRow, 0..MaxCol ]
int N, N1;
void ClearStackPT() // Clear every block=0 and use Radix[0] for SP
{
int i;
for (i = 0; i <= MaxRow; i++)
Radix[i][0] = NULL; // This position keep the SP
}
}
这是我的gcc版本enter image description here
请帮我解决这个问题,我真的不知道发生了什么事
1条答案
按热度按时间5fjcxozz1#
dbush已经提到
NULL
不是int。NULL
的值在C中定义为((void *)0)
。所以,在这里使用整数0。你有一个未定义的行为,因为在循环条件中访问数组越界:
应该是
<
。