如何使用指针打印数组?

 睡姿决定发型 发布于 2023-02-13 16:42

我有一个需要返回一个数组的函数,因为这是不可能的,而是返回指向该数组的指针.然后我需要在main函数中打印这个数组.我该怎么做呢?

这是我的意思的一个例子:

char* myFunction (void)
{

    char myArray[5] = {'one','two','three','four','five'};

return myArray;
}


int main(void)
{

    printf("%s",myFunction);

return 0;

}

但这只是打印指针:uF $.或者,如果我将函数打印为整数,则打印:791013.那么如何实际打印数组中的5个元素?

谢谢!

1 个回答
  • char* myFunction (void)
    {
        char myArray[5] = {'one','two','three','four','five'}; // WRONG see 1 and 2
        return myArray; // WRONG see 3 
    }
    
    int main(void)
    {
        printf("%s",myFunction); // WRONG see 4
        return 0;
    }
    

      字符串要求""不是"(用于个别字符)

      char foo [5]将是一个字符数组.字符串本身是字符数组,所以你需要char*foo [5]

      你不能返回一个本地声明的数组(通常,你不能返回一个指向本地声明的数据的指针,因为它存在于堆栈中,一旦函数返回就无效)

      myFunction是一个函数,如果想要调用它,你需要().但%s无论如何都不会起作用,因为%s用于打印字符串.你需要一个for循环遍历数组,然后用%d打印出整数.但是,由于这是C++,你可能应该使用cout而不是printf(一个C std库函数).

    2023-02-13 16:46 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有