胡萝贝୧⍤⃝? 2023-06-12 15:00 采纳率: 46.7%
浏览 20
已结题

给字符型数组直接赋值

int get_input_multilan(char **olan)
{
    int rtn = 0;
    char str_lan[128];
    printf("\n\nFor example:1 2 4 (selected segment1, segment2 and segment4).\n");
    printf("Please select segment [{1-8}, {9}]:");
    scanf("%[^\n]", str_lan);

    *olan = xstrdup(str_lan);

    return rtn;
}

请问各位,我想直接赋值一个整数给到 str_lan ,上面这段代码是可行的,但是我想直接给 str_lan 赋整数值,应该怎么写呢?

  • 写回答

4条回答 默认 最新

  • threenewbee 2023-06-12 15:29
    关注

    整数不行啊,你是char[]类型
    建议这样

    
    int get_input_multilan(char **olan)
    {
        int rtn = 0;
        char str_lan1[128];
        int str_lan;
        printf("\n\nFor example:1 2 4 (selected segment1, segment2 and segment4).\n");
        printf("Please select segment [{1-8}, {9}]:");
        scanf("%[^\n]", str_lan1);
        sscanf(str_lan1, "%d", &str_lan);
        *olan = xstrdup(str_lan);
     
        return rtn;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 6月20日
  • 已采纳回答 6月12日
  • 修改了问题 6月12日
  • 创建了问题 6月12日