| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 986 人关注过本帖
标题:请教一个报错问题
只看楼主 加入收藏
鸡巴毛
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2022-10-27
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
请教一个报错问题

#include <stdio.h>

int main()
{
    int temp;
    int i = 0;
    int j = 0;
    int N = 10;
    int a[10]{ 5,6,2,9,7,3,6,4,1,3 };
    for (i = 0; i < N - 1; i++)
    for (i = 0; i < N - i - 1; j++)
            if (a[j] > a[j + 1])
            {
                temp = a[j];
                a[j] = a[j + 1];
                a[j + 1] = temp;

            }
}


编译的时候直接抛出了异常,13行,请问是什么原因导致的呢
搜索更多相关主题的帖子: temp for 报错 int 抛出 
2022-10-27 18:04
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:10 
编译的时候直接抛出了异常
编译只会报错,不会抛异常;
异常是运行时抛出的。

13行,请问是什么原因导致的呢
如果时编译错误,贴出编译器给出的错误信息;
如果是运行时错误,看你的代码
    for (i = 0; i < N - 1; i++)
    for (i = 0; i < N - i - 1; j++)
有点儿奇怪,你是不是将两处 j 错写成 i 啦?
2022-10-28 13:51
lllyyy3
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:20
注 册:2022-10-15
收藏
得分:10 
看起来像是要写个冒泡,如果是的话,内层循环变量应该错了。
至于写成这样的错在哪里了,内层循环里i一直为0,i < N - i - 1会一直成立,导致j一直在++,直到a[j]出现下标越界问题。
还有就是2楼r老师说的,编译不会抛异常,异常是运行时抛出的。
2022-10-28 22:27
快速回复:请教一个报错问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016374 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved