A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

int main(int argc, const char * argv[]) {
    // insert code here...
    double w[N]={2.4,3.1,1.3,41.2,11.1,3.4,6};
    double re[N],x;
    int i,count=0;
    printf("%s","输入一个实数:");
           scanf("%lf",&x);
           for(i=0;i<N;i++)
           {if(w[i]>x)
           {re[count]=w[i];
               count++;
   
    }
           
           }
           for(i=0;i<count;i++)
           printf("5.21f\n",re[i]);
           printf("\n");

}
提示错误breakpoint,郁闷

8 个回复

倒序浏览
你是想连续从键盘输入数组和w[N]进行比较,如果输入的值大于w数组元素的值则赋值到re[N]数组里吧?
首先说下你程序的问题
1、数组长度N这是个变量,需要先定义,不能直接当数组长度来用,如果要计算数组长度可以加一句
int N=sizeof w/sizeof w[0];
2、需要把 scanf("%lf",&x);这句放在for循环体内部才能连续输入
3、最后的for循环是想要打印re[N]这个数组元素吧?输出语句少了%
我修改了你的代码

int main(int argc, const char * argv[]) {
    // insert code here...

        double w[]={2.4,3.1,1.3,41.2,11.1,3.4,6};
        int N=sizeof w/sizeof w[0];
    double re[N],x;
    int i,count=0;
        printf("%s","输入一个实数:");
                for(i=0;i<N;i++){
           scanf("%lf",&x);
           {if(w[i]>x)
                                {re[count]=w[i];
                                   count++;
                                }
                        }
                        printf("%s","输入一个实数:");
                }
        for(i=0;i<count;i++)
         printf("%5.21f\n",re[i]);
         printf("\n");

}这编译就不会有问题了
回复 使用道具 举报
冷傲阳 发表于 2016-3-9 00:34
你是想连续从键盘输入数组和w[N]进行比较,如果输入的值大于w数组元素的值则赋值到re[N]数组里吧?
首先说 ...

那应该是没有发了完整的代码,我前面用了宏定义。
回复 使用道具 举报
           今天发现了之前为什么有的程序无法显示运行结果了,其实有的时候breakpoint不是你的程序出错了,而是你人为的 不小心设置了某一行添加了breakpoint,所以xcode就停在那了
        解决办法:找到提示breakpoint的那一行然后再开头的左边浅灰色的箭头哪里,右键它,选择delete breakpoint就可以了,亲生经历。希望遇到这种问题的小伙伴能够解决这个问题
回复 使用道具 举报
受教,相互学习
回复 使用道具 举报
学习了。。。。
回复 使用道具 举报
jacku 发表于 2016-3-9 23:21
今天发现了之前为什么有的程序无法显示运行结果了,其实有的时候breakpoint不是你的程序出错了 ...

快捷键,直接点击断点那个灰色的箭头,拖着拉出来直接就没了,不用右键。
回复 使用道具 举报
人为的加了断点,好尴尬啊。{:2_30:}
回复 使用道具 举报
原来是加了断点
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马