c - 如何修复整数到指针转换警告?
问题描述
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# - 字符串长度错误 - 保存到数据库
- apache-pig - 如何在 Pig 中查询与最小值/最大值相关的数据
- angular - 构建 Angular 6 库时为导出符号生成的元数据中遇到错误
- amazon-web-services - 如何基于多个警报扩展 aws ecs 服务
- jsoup - 如何使用 Jsoup 解析嵌套描述列表(dl 标签)?
- javascript - 在 jest 中分别运行 lint 和测试
- ssl - x509_sign 例程失败并出现 ASN1 编码例程错误
- bash - IF 语句总是计算为真
- android - Linux 授予 Android Studio (AVD) 权限 /dev/kvm (Permissions Denied)
- c# - 使用复选框 Asp.net 从 gridview 中删除不起作用