首页 > 解决方案 > 如何修复整数到指针转换警告?

问题描述

int main() {
    int n, b, i, j;
    char *thousand;
    //char a;

    char symbol [] = {'I', 'V', 'X', 'L', 'C', 'D', 'M'};

    printf("Enter an integer between 0 and 10000: ");
    scanf("%d",&n);

    if( n >= 1000)
    {
        b = n / 1000;
        for(i = 0; i < b; i++){
            for (j = 0; j < i; j++)
            {
                thousand = symbol [6];
            }
        }
    }

    printf("%s",thousand);

    return 0;
}

这是我得到的错误:

从 'char' 分配给 'char *' 的不兼容整数到指针转换;用 & [-Wint-conversion] 获取地址

标签: c

解决方案


在这里,您将千位声明为字符指针,这意味着它可以存储字符变量的地址而不是字符本身。但是您正试图以千为单位分配一个字符。永远记住指针存储地址。


推荐阅读