编译出错,是什么原因?

cslxc 2004-10-26 11:54:46
void display(int a[], int flag[], int n, unsigned int no = 0) {
int i, bflag = 0;
if(no > 0)
printf("%4d : ", no);
else
printf(" : ");
for(i = 0; i < n; ++i) {
if(flag[i]) {
if(bflag)
printf(" + ");
else
++bflag;
printf("%d", a[i]);
}
}
printf("\n");
}

int test(int a[], int flag[], int n, int m, int level = 0) {
static target = 0;
int Counter = 0;
if(level >= n || level < 0) return Counter;
if(!level) target = m;
if(a[level] < m) {
flag[level] = 1;
Counter += test(a, flag, n, m - a[level], level + 1);
} else if(a[level] = m) {
flag[level] = 1;
++Counter;
display(a, flag, level + 1, Counter);
} else {
flag[level] = 0;
Counter += test(a, flag, n, m, level + 1);
}
return Counter;
}

void main(void) {
int a[] = { 2, 3, 4, 6, 7, 9, 11, 13, 14, 16, 17 }, m = 21;
int flag[11] = {0};
test(a, flag, 11, m);
}
...全文
149 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cslxc 2004-10-26
  • 打赏
  • 举报
回复
这是编译时出错的原因,请高手指点!
cslxc 2004-10-26
  • 打赏
  • 举报
回复
Configuration: H2 - Win32 Debug--------------------
Compiling...
H2.c
C:\Documents and Settings\Administrator\My Documents\H2.c(1) : error C2143: syntax error : missing ')' before '='
C:\Documents and Settings\Administrator\My Documents\H2.c(1) : error C2072: 'display' : initialization of a function
C:\Documents and Settings\Administrator\My Documents\H2.c(1) : error C2059: syntax error : ')'
C:\Documents and Settings\Administrator\My Documents\H2.c(1) : error C2143: syntax error : missing ';' before '{'
C:\Documents and Settings\Administrator\My Documents\H2.c(1) : error C2449: found '{' at file scope (missing function header?)
C:\Documents and Settings\Administrator\My Documents\H2.c(17) : error C2059: syntax error : '}'
C:\Documents and Settings\Administrator\My Documents\H2.c(41) : warning C4013: 'test' undefined; assuming extern returning int
Error executing cl.exe.

H2.obj - 6 error(s), 1 warning(s)
qqhong 2004-10-26
  • 打赏
  • 举报
回复
你把编译出错的提示信息发布出来!
qqhong 2004-10-26
  • 打赏
  • 举报
回复
你把错误放出来吗!
9731boy 2004-10-26
  • 打赏
  • 举报
回复
你的这个H2.c 明显是c文件.你偏偏用了c++的语法.当然不行了.
void display(int a[], int flag[], int n, unsigned int no = 0) {
-----------------------------------------^^^^^^^^^^^^^^^^^^^^^^
这种语法我只知道在c++可以,在C好像不行.至少VC6是不可以的


CSDN这帮家伙为什么把空格去掉了?
独孤过儿 2004-10-26
  • 打赏
  • 举报
回复
#include <iostream.h>
#include <stdlib.h>
#include <string>
#include <stdio.h>

void display(int a[], int flag[], int n, unsigned int no = 0) {
int i, bflag = 0;
if(no > 0)
printf("%4d : ", no); //沒有包含printf()的頭文件
else
printf(" : ");
for(i = 0; i < n; ++i) {
if(flag[i]) {
if(bflag)
printf(" + ");
else
++bflag;
printf("%d", a[i]);
}
}
printf("\n");
}

int test(int a[], int flag[], int n, int m, int level = 0) {
static int target = 0; //變量忘記聲明類型了
int Counter = 0;
if(level >= n || level < 0) return Counter;
if(!level) target = m;
if(a[level] < m) {
flag[level] = 1;
Counter += test(a, flag, n, m - a[level], level + 1);
} else if(a[level] = m) {
flag[level] = 1;
++Counter;
display(a, flag, level + 1, Counter);
} else {
flag[level] = 0;
Counter += test(a, flag, n, m, level + 1);
}
return Counter;
}

void main(void) {
int a[] = { 2, 3, 4, 6, 7, 9, 11, 13, 14, 16, 17 }, m = 21;
int flag[11] = {0};
test(a, flag, 11, m);
}

好了,我把錯誤的地方給你改正過來了。在我的編譯器下面是沒有錯誤了。不知道在別的編譯器下面

如何。我的是Dev-C++4.0的。你最好把程序的目的寫出來,大家好分析一下,否則看這麽一大段代碼

真的很辛苦。
jitian81411 2004-10-26
  • 打赏
  • 举报
回复
我加上头文件后在vc环境下运行没有问题!
9731boy 2004-10-26
  • 打赏
  • 举报
回复
void display(int a[], int flag[], int n, unsigned int no = 0)
^^^^^

C语言里不能像C++有默认的参数值的
9731boy 2004-10-26
  • 打赏
  • 举报
回复
你的文件名是.c吧
你这是c++的文件的
【更新至2025年】2001-2025年上市公司数字化转型年报词频统计(吴非、赵宸宇、甄红线)(300+年报词频统计) 1、时间:2001-2025年 2、来源:上市公司年报 3、参考文献:企业数字化转型与资本市场表现——来自股票流动性的经验证据(吴非) 数字化转型如何影响企业全要素生产率(赵宸宇) 知识产权行政保护与企业数字化转型(甄红线) 4、方法说明:(1)参考吴非老师的做法,对人工智能技术、大数据技术、云计算技术、区块链技术、数字技术运用五个维度76个数字化相关词频进行统计 (2)参考赵宸宇老师的做法,对数字技术应用、互联网商业模式、智能制造、现代信息系统四个维度99个数字化相关词频进行统计 (3)参考甄红线老师的做法,对技术分类、组织赋能、数字化应用等类别下139个数字化相关词频进行统计 5、指标:年份、股票代码、公司简称、行业名称、行业代码、全文-文本总长度、仅中英文-文本总长度、人工智能技术-吴、大数据技术-吴、云计算技术-吴、区块链技术-吴、数字技术运用-吴、数字技术应用-赵、互联网商业模式-赵、智能制造-赵、现代信息系统-赵、技术分类-人工智能技术-甄、技术分类-区块链技术-甄、技术分类-云计算技术-甄、技术分类-大数据技术-甄、组织赋能-人工智能技术-甄、组织赋能-云计算技术-甄、组织赋能-大数据技术-甄、组织赋能-广义数字技术-甄、数字化应用-技术创新-甄、数字化应用-流程创新-甄、数字化应用-业务创新-甄、人工智能、商业智能、图像理解、投资决策辅助系统、智能数据分析、智能机器人、机器学习、深度学习、语义搜索、生物识别技术、人脸识别、语音识别、身份验证、自动驾驶、自然语言处理、大数据、数据挖掘、文本挖掘、数据可视化、异构数据、征信、增强现实、混合现实、虚拟现实、云计算、流计算、图计算、内存计算、多方安全计算、类脑计算、绿色计算、认知计算等300+词频

70,038

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧