412. Fizz Buzz(C语言)
来源:互联网 发布:网络存储 编辑:程序博客网 时间:2024/06/06 02:50
这道题是字符串数组,没有接触过,师兄都在说我大学是怎么上的.......
虽然看起来是一个数组,但是一个char[1]只能放一个字节也就是一个字符,比如F
所以输出的是一个字符串数组
从百度搜答案,师兄说你为什么不看discuss
于是找来了一个 研究了一天终于明白了
char** fizzBuzz(int n, int* returnSize) {里面的**是和子函数返回的类型一致
/** * Return an array of size *returnSize. * Note: The returned array must be malloced, assume caller calls free(). */char** fizzBuzz(int n, int* returnSize) { *returnSize=n;//returnSize指向的值代表需要返回的数组的个数,虽然是在函数里面修改他的值,但是函数外面也是有变动的 char buf[10];//定义一个字符数组用于存放‘Fizz’这种,buf[0]=‘F’,buf[1]='i'等,一个char字符是一个字节只能放一个字母 char **re_p=(char **)malloc(n*sizeof(char *));//申请一个字符串数组,n行,每行一个char类型的指针 int i=0; for(i=0;i<n;i++){ if(((i+1)%3==0)&&((i+1)%5==0)){ sprintf(buf,"%s","FizzBuzz");//虽然申请了char*但这只是指向字符串第一个元素的位置,需要把字符串赋值给buf,再让char*指向buf }else if((i+1)%3==0){ sprintf(buf,"%s","Fizz");//字符串用双引号,字符用单引号 }else if((i+1)%5==0){ sprintf(buf,"%s","Buzz"); }else{ sprintf(buf,"%d",i+1); } re_p[i]=malloc(sizeof(buf)); memcpy(re_p[i],buf,strlen(buf)+1);//strlen是指buf里字符串的长度,不是11,比如"Fizz",strlen(buf)=4,+1是为了把'\0'也放进来,不放进来就会出现乱码吧 我觉得 memset(buf," ",11);//为buf清零初始化,将buf中当前位置后面的11个字节,用“ ”代替,并返回buf } return re_p; }
0 0
- 412. Fizz Buzz(C语言)
- 412. Fizz Buzz(C++)
- leetcode 412. Fizz Buzz(C语言)8
- LeetCode 412. Fizz Buzz C语言
- 412. Fizz Buzz(C++)
- LeetCode 412. Fizz Buzz 题解(C++)
- 412. Fizz Buzz
- LeetCode 412. Fizz Buzz
- 412. Fizz Buzz
- 412. Fizz Buzz
- [LeetCode]--412. Fizz Buzz
- 412. Fizz Buzz
- LeetCode-412. Fizz Buzz
- LeetCode 412. Fizz Buzz
- 412. Fizz Buzz
- 412. Fizz Buzz
- 【leetcode】412. Fizz Buzz
- LeetCode 412. Fizz Buzz
- ajaxFileUpload进行文件上传时,总是进入error
- 数组中sort slice pop
- 机器分配
- 15_python_练习题——使用webdriver查询IP地址
- android Design : Activity转场动画——ActivityOptions
- 412. Fizz Buzz(C语言)
- Linux面试题集锦二
- Java学习--day4-partone
- ib_logfile与log-bin区别
- spring BeanFactory中Bean的实例化过程
- JS:innerHTML 改变div内容例子
- iOS开发多线程GCD(二)
- HDU1255覆盖的面积(线段树+离散化+扫描线)
- 养生那些事-北京太一三和医学研究院