Loading... 从力扣刷题中我逐渐感觉自己的知识很贫瘠,比如一个数组里面还有一个数组,这时我却不知道怎么办!以前似乎了解过,可能因为只是短期记忆,所以知识从脑袋消失了。 我找到了一个简单的题,并且从别人的题解中终于了解到创建一个双数组的方法: 比如字符数组: ## 先上力扣题: <div class="panel panel-default collapse-panel box-shadow-wrap-lg"><div class="panel-heading panel-collapse" data-toggle="collapse" data-target="#collapse-23bd6e0afbae56a31b533f3af694608012" aria-expanded="true"><div class="accordion-toggle"><span style="">题目</span> <i class="pull-right fontello icon-fw fontello-angle-right"></i> </div> </div> <div class="panel-body collapse-panel-body"> <div id="collapse-23bd6e0afbae56a31b533f3af694608012" class="collapse in collapse-content"><p></p> 写一个程序,输出从 1 到 n 数字的字符串表示。 1. 如果 n 是3的倍数,输出“Fizz”; 2. 如果 n 是5的倍数,输出“Buzz”; 3.如果 n 同时是3和5的倍数,输出 “FizzBuzz”。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/fizz-buzz 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 <p></p></div></div></div> ## 题解: ```cpp /** * Note: The returned array must be malloced, assume caller calls free(). */ char ** fizzBuzz(int n, int* returnSize){ char **array = (char**)malloc(sizeof(char*) * n); for(int i = 0; i < n; i++) { array[i] = (char*)malloc(sizeof(char) *8); if((i+1) % 3 == 0 && (i+1) % 5 == 0) { array[i] = "FizzBuzz"; } else if((i+1) % 3 == 0) { array[i] = "Fizz"; } else if((i+1) % 5 == 0) { array[i] = "Buzz"; } else{ sprintf(array[i],"%d" , i + 1); //这里是把i+1 用整型传入数组中 , 我的博客函数速查里面有介绍 } } *returnSize = n; return array; } ``` ## 模板: ```cpp char **new = (char **)malloc(sizeof(char *) * n)// n是最外层数组的数组大小 new[i] = (char *)malloc(sizeof(char) * m)//m是内层数组的数组大小 ``` 最后修改:2021 年 09 月 09 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果文章有用,请随意打赏。