F物的自我救赎(笑) 2023-07-06 21:38 采纳率: 73.8%
浏览 24
已结题

c语言报错小问题:为什么我可以输出整段但不可以输出数组的第一部分http_request[0]而且输出整段时为什么连每小段的引号"都去掉了呢

c语言报错小问题:
为什么我可以输出整段但不可以输出数组的第一部分http_request[0]
而且输出整段时为什么连每小段的引号"都去掉了呢

img

img

  • 写回答

2条回答 默认 最新

  • 清水加冰 CSDN实力新星 2023-07-06 23:36
    关注

    “% s”需要类型“char *”的参数,http_request[0]无法输出是因为它只是一个字符而不是一个字符串,输出整段时每个小段的引号被去掉是因为printf函数会自动忽略字符串中的引号。如果你想要打印这几个字符串中的其中一个,可以使用指针数组来访问每个字符串。例如:

    #include<stdio.h>
    int main()
    {
        char http_request[] = "GET / devices / 1095299023 / datastreams / LED Status HITP / 1.1\r\n";
            char arr1[100] = "api-key: n8XbhtipblphuHkS9EaSMJSsSs=\r\n";
            char arr2[100] = "Host;api.heclouds. com\r\n";
            char arr3[100] = "Connection:close";
            char* parr[4] = { http_request ,arr1 ,arr2 ,arr3 };
        printf("Hello, World!-- - % s\n", parr[0]);
        return 0;
    }
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月17日
  • 已采纳回答 7月9日
  • 创建了问题 7月6日