warning - 赋值从指针生成整数而不进行强制转换。为什么?

时间:2012-03-07 12:04:21

标签: pointers warnings case variable-assignment

为什么会在标题中给出警告?

    char name[10];
    for (i=0; i<10; i++){
        name[i] = NULL;

2 个答案:

答案 0 :(得分:4)

您需要name[i]=0;name[i]='\0';。在C中,NULL是(或者,更准确地说,可能是)指针。

例如,ANSI C允许以下内容:

#define NULL ((void *)0)

有关详细信息,请参阅C FAQ中Question 5.9的结尾。请注意,在C ++中,NULL略有不同。

答案 1 :(得分:0)

对于char,我们不使用 null ,在你的情况下,Name [i]是一个char, 你最好使用空字符'\ 0'