| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1386 人关注过本帖
标题:我编好的程序有很多的报错,帮忙看一下是什么原因,应该怎么具体地修改?
只看楼主 加入收藏
元着华烛
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2021-11-17
结帖率:0
收藏
已结贴  问题点数:20 回复次数:9 
我编好的程序有很多的报错,帮忙看一下是什么原因,应该怎么具体地修改?
这个是我写的代码:
#include <stdio.h>
#define SIZE 10

void bubbleSort(int * const array, const size_t size);

int main(void)
{
    int i;
    int a[SIZE] = { 2, 6, 4, 8, 10, 12, 89, 68, 45, 37 };
    puts("Data items in original order");
    for(size_t i = 0; i < SIZE; ++i);
    {
        int i;
        printf("%4d", a[i]);
    }
    bubbleSort(a, SIZE);
    puts("\nData items in ascending order");
    for (size_t i = 0; i < SIZE; ++i);
    {
    printf("%4d", a[i]);
    }

    puts("");
}
void bubbleSort(int * const array, const size_t size)
    {
        unsigned int pass = 0;
        void swap(int *element1Ptr, int *element2Ptr);
        for (pass < size - 1;++pass;);
    {
        int j;
        for (size_t j = 0; j < size - 1; ++j);
    {
        int j;
        if (array[j] > array[j + 1])
    {

    }
    }
    }
    }

以下是程序的报错:
1>------ 已启动生成: 项目: zuoye5, 配置: Debug Win32 ------
1>  zuoyezuoyefive.c
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(11): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(11): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(11): error C2143: 语法错误 : 缺少“)”(在“类型”的前面)
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(11): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(11): warning C4552: “<”: 运算符不起任何作用;应输入带副作用的运算符
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(11): error C2059: 语法错误:“)”
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(18): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(18): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(18): error C2143: 语法错误 : 缺少“)”(在“类型”的前面)
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(18): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(18): warning C4552: “<”: 运算符不起任何作用;应输入带副作用的运算符
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(18): error C2059: 语法错误:“)”
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(29): warning C4552: “<”: 运算符不起任何作用;应输入带副作用的运算符
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(32): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(32): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(32): error C2143: 语法错误 : 缺少“)”(在“类型”的前面)
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(32): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(32): warning C4018: “<”: 有符号/无符号不匹配
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(32): warning C4552: “<”: 运算符不起任何作用;应输入带副作用的运算符
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(32): error C2059: 语法错误:“)”
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========


搜索更多相关主题的帖子: 语法错误 缺少 SIZE 类型 int 
2021-11-18 00:10
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9029
专家分:54050
注 册:2011-1-18
收藏
得分:7 
程序代码:
#include <stdio.h>

void bubble_sort( int array[], size_t size );

int main( void )
{
    int a[] = { 2, 6, 4, 8, 10, 12, 89, 68, 45, 37 };
    enum { SIZE = sizeof(a)/sizeof(*a) };
    
    puts( "Data items in original order:" );
    for( size_t i=0; i!=SIZE; ++i )
        printf( "%3d%c", a[i], " \n"[i+1==SIZE] );

    bubble_sort( a, SIZE );

    puts( "Data items in ascending order:");
    for( size_t i=0; i!=SIZE; ++i )
        printf( "%3d%c", a[i], " \n"[i+1==SIZE] );
}

void bubble_sort( int array[], size_t size )
{
    for( size_t i=0; i+1<size; ++i )
    {
        for( size_t j=0; j!=size-1-i; ++j )
        {
            if( array[j+1] < array[j] )
            {
                int tmp = array[j+1];
                array[j+1] = array[j];
                array[j] = tmp;
            }
        }
    }
}
2021-11-18 08:42
元着华烛
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2021-11-17
收藏
得分:0 
回复 2楼 rjsp
我把你的代码复制上去运行之后显示的错误更多了,为什么会有很多这样的报错?(缺少“;”(在“类型”的前面))

1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(24): error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(25): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(25): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(25): error C2143: 语法错误 : 缺少“)”(在“类型”的前面)
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(25): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(25): error C2065: “j”: 未声明的标识符
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(25): error C2065: “i”: 未声明的标识符
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(25): warning C4552: “!=”: 运算符不起任何作用;应输入带副作用的运算符
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(25): error C2059: 语法错误:“)”
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(26): error C2065: “j”: 未声明的标识符
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(26): error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(27): error C2065: “j”: 未声明的标识符
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(27): error C2065: “j”: 未声明的标识符
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(29): error C2065: “j”: 未声明的标识符
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(30): error C2065: “j”: 未声明的标识符
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(30): error C2065: “j”: 未声明的标识符
1>d:\c++\zuoye5\zuoye5\zuoyezuoyefive.c(31): error C2065: “j”: 未声明的标识符
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
2021-11-18 08:49
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9029
专家分:54050
注 册:2011-1-18
收藏
得分:0 
回复 3楼 元着华烛
如果你不会安装C编译器,或懒得安装C编译器,可以使用在线编译器
比如 https://
或者本网站提供的 https://www.bccn.net/run/?lang=c
2021-11-18 09:43
diycai
Rank: 8Rank: 8
等 级:贵宾
威 望:19
帖 子:147
专家分:895
注 册:2021-5-18
收藏
得分:7 
回复 楼主 元着华烛
标准C 要求 局部变量必须声明在函数的开头,不能在中间随意申请。
你可以改代码,
也可以修改 zuoyezuoyefive.c  为 zuoyezuoyefive.cpp 即可。
2021-11-18 15:25
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9029
专家分:54050
注 册:2011-1-18
收藏
得分:0 
标准C 要求 局部变量必须声明在函数的开头,不能在中间随意申请。
不是“标准C”,而是“古老过时的C标准”;
自上世纪末起,“标准C”就不建议把变量一股脑定义到头部。

可以修改 zuoyezuoyefive.c  为 zuoyezuoyefive.cpp 即可
那编译器用的就不是C编译器了,而是C++编译器。
2021-11-19 08:20
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
收藏
得分:7 
以下是引用diycai在2021-11-18 15:25:17的发言:

标准C 要求 局部变量必须声明在函数的开头,不能在中间随意申请。
你可以改代码,
也可以修改 zuoyezuoyefive.c  为 zuoyezuoyefive.cpp 即可。

描述不准确
这是C89的要求 这已经是30多年前的标准了 年纪可能比你还大

你可以说为了让代码适配一些古老的编译环境(对 说的就是你 VC6等) 把变量都声明在开头
但你不能说 为了符合标准要求把变量都声明在开头

https://zh.
2021-11-19 11:35
diycai
Rank: 8Rank: 8
等 级:贵宾
威 望:19
帖 子:147
专家分:895
注 册:2021-5-18
收藏
得分:0 
回复 7楼 lin5161678
哈哈,我年龄比它大。
图片附件: 游客没有浏览图片的权限,请 登录注册
2021-11-19 14:28
lin5161678
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:45
帖 子:1136
专家分:3729
注 册:2011-12-3
收藏
得分:0 
回复 8楼 diycai
C99才有const是一个很奇怪的误解
怎么会有这样的想法呢

https://zh.
2021-11-19 14:33
diycai
Rank: 8Rank: 8
等 级:贵宾
威 望:19
帖 子:147
专家分:895
注 册:2021-5-18
收藏
得分:0 
回复 9楼 lin5161678
嗯,第2条是错的。
2021-11-19 15:23
快速回复:我编好的程序有很多的报错,帮忙看一下是什么原因,应该怎么具体地修改 ...
数据加载中...
 
   



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

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