月入十万是梦 2022-10-23 22:56 采纳率: 0%
浏览 12

请问为什么说初始化太多?

问题遇到的现象和发生背景
#include<stdio.h>
int amount[] = {1,5,10,25,50};
char name[] = {"penny","nickel","dime","quarter","half-doll"};
int search(int key,int a[],int len)
{
    int ret = -1;
    for(int i = 0;i < len;i++)
    {
        if(key == a[i])
        {
            ret = i;
            break;
        }
    }
        return ret;
}
int main()
{
    int m;
    scanf("%d",&m);
    int r = search(m,amount,sizeof(amount)/sizeof(amount[0]));
    if(r > -1)
    {
        printf("%s\n",name[r]);
    }
    return 0;
}

  • 写回答

1条回答 默认 最新

  • qzjhjxj 2022-10-23 23:45
    关注

    char name[] = {"penny","nickel","dime","quarter","half-doll"}; 修改为指针数组:char* name[] = {"penny","nickel","dime","quarter","half-doll"}; 如下,供参考:

    #include<stdio.h>
    int amount[] = {1,5,10,25,50};
    char* name[] = {"penny","nickel","dime","quarter","half-doll"};//修改
    int search(int key,int a[],int len)
    {
        int ret = -1;
        for(int i = 0;i < len;i++)
        {
            if(key == a[i])
            {
                ret = i;
                break;
            }
        }
        return ret;
    }
    int main()
    {
        int m;
        scanf("%d",&m);
        int r = search(m,amount,sizeof(amount)/sizeof(amount[0]));
        if(r > -1)
        {
            printf("%s\n",name[r]);
        }
        return 0;
    }
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 10月23日

悬赏问题

  • ¥15 Opencv配置出错
  • ¥15 模电中二极管,三极管和电容的应用
  • ¥15 关于模型导入UNITY的.FBX: Check external application preferences.警告。
  • ¥15 气象网格数据与卫星轨道数据如何匹配
  • ¥100 java ee ssm项目 悬赏,感兴趣直接联系我
  • ¥15 微软账户问题不小心注销了好像
  • ¥15 x264库中预测模式字IPM、运动向量差MVD、量化后的DCT系数的位置
  • ¥15 curl 命令调用正常,程序调用报 java.net.ConnectException: connection refused
  • ¥20 关于web前端如何播放二次加密m3u8视频的问题
  • ¥15 使用百度地图api 位置函数报错?