黑马程序员技术交流社区

标题: 求大神帮忙看看我这个代码有什么问题 [打印本页]

作者: shenxian88    时间: 2015-4-29 13:02
标题: 求大神帮忙看看我这个代码有什么问题
#include <stdio.h>
#include <stdlib.h>
#define LEN 10
int length = 0;
int arr[LEN];
int main(){
    int arr[LEN];int length = 0;int num;


   
        for(int i=0;i<=length;i++){
         //生成一个随机数组
       int num = arc4random_uniform(10);
            //判断这个随机数
           if(arr[i]==num){
               continue;
            }
            arr[length++] = num;

        }


    for (int i=0;i<length;i++){
        printf("arr[%d] = %d\n",i,arr[i]);
    }
}

作者: 转街过巷    时间: 2015-4-29 14:19
if(arr[i]==num){
               continue;
            }
            arr[length++] = num;

arr数组没有初始化那它和num比较有什么意义?
根据题意应该把length设置为10吧
arr[length++] = num;
改成arr[i]=num;
这说的只是部分,我没有调试不知道程序能不能得到你想要的结果。
作者: darewolf    时间: 2015-4-29 21:30
你写的for循环有意义吗,不是第一次判断的时候就直接跳出了吗,你应该给length 赋一个大于0的值,先进入for循环体
作者: shenxian88    时间: 2015-4-29 22:37
转街过巷 发表于 2015-4-29 14:19
if(arr==num){
               continue;
            }

我也不太清楚





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2