帮我看看这位段markdown 代码段的错误信息,应该怎么解决

哪位大哥帮我看下这段c代码 出错了_百度知道
哪位大哥帮我看下这段c代码 出错了
代码:# include&stdio.h&# include&malloc.h&# include&stdlib.h&struct Arr{ int *pB};void init_arr(struct Arr * pArr, int length);void show_arr(struct Arr * pArr);bool is_empty(struct Arr * pArr);void main(){ struct Arr array_1; init_arr(&array_1,5); show_arr(&array_1);}void init_arr(struct Arr * pArr, int length){ pArr-&pBase = malloc(sizeof(int)*length); if(NULL == pArr-&pBase) {
printf(&内存分配失败!/n&);
exit(-1); } else {
pArr-&len =
pArr-&cnt = 0; }}bool is_empty(struct Arr * pArr){ if (pArr-&cnt == 0) else}void show_arr(struct Arr *pArr){ if(is_empty(pArr)) {
printf(&数组为空/n&); } else {
for (int i = 0; i & pArr-& i++)
printf(&%d/n&,pArr-&pBase[i]);
} }}错误:ompiling...test.cE:\Visual Studio\MyProjects\test\test.c(12) : error C2061: syntax error : identifier 'is_empty'E:\Visual Studio\MyProjects\test\test.c(12) : error C2059: syntax error : ';'E:\Visual Studio\MyProjects\test\test.c(12) : error C2059: syntax error : 'type'E:\Visual Studio\MyProjects\test\test.c(37) : error C2061: syntax error : identifier 'is_empty'E:\Visual Studio\MyProjects\test\test.c(37) : error C2059: syntax error : ';'E:\Visual Studio\MyProjects\test\test.c(37) : error C2059: syntax error : 'type'E:\Visual Studio\MyProjects\test\test.c(47) : warning C4013: 'is_empty' assuming extern returning intE:\Visual Studio\MyProjects\test\test.c(53) : error C2143: syntax error : missing ';' before 'type'E:\Visual Studio\MyProjects\test\test.c(53) : error C2143: syntax error : missing ';' before 'type'E:\Visual Studio\MyProjects\test\test.c(53) : error C2143: syntax error : missing ')' before 'type'E:\Visual Studio\MyProjects\test\test.c(53) : error C2143: syntax error : missing ';' before 'type'E:\Visual Studio\MyProjects\test\test.c(53) : error C2065: 'i' : undeclared identifierE:\Visual Studio\MyProjects\test\test.c(53) : warning C4552: '&' : op expected operator with side-effectE:\Visual Studio\MyProjects\test\test.c(53) : error C2059: syntax error : ')'E:\Visual Studio\MyProjects\test\test.c(54) : error C2143: syntax error : missing ';' before '{'Error executing cl.exe.test.obj - 13 error(s), 2 warning(s)
提问者采纳
E:\Visual Studio\MyProjects\test\test.c(53) : error C2143: syntax error : missing ';' before 'type'E:\Visual Studio\MyProjects\test\test.c(53) : error C2143: syntax error : missing ';' before 'type'E:\Visual Studio\MyProjects\test\test.c(53) : error C2143: syntax error : missing ')' before 'type'E:\Visual Studio\MyProjects\test\test.c(53) : error C2143: syntax error : missing ';' before 'type'E:\Visual Studio\MyProjects\test\test.c(53) : error C2065: 'i' : undeclared identifierE:\Visual Studio\MyProjects\test\test.c(53) : warning C4552: '&' : op expected operator with side-effectE:\Visual Studio\MyProjects\test\test.c(53) : error C2059: syntax error : ')'E:\Visual Studio\MyProjects\test\test.c(54) : error C2143: syntax error : missing ';' before '{' 我只说明这里,其他的楼上已经解释了。for (int i = 0; i & pArr-& i++) //这里不能这样写,在C语言中,变量或者函数的声明要写在函数//的开始(即将int i 移动到函数开始),否则就会出现以上错误,请谨记{printf(&%d/n&,pArr-&pBase[i]);}
提问者评价
其他类似问题
为您推荐:
其他5条回答
1.pBase为指针,需要赋值为指针2.转义符用\,因此要用\n3.for(int i=0;;i++)这种在for里面定义变量的方法在C99以前支持,C99以后是不支持的因此VC6可以编译成功,但是VS2003、VS2005、VS2008都不支持,会报编译错误
/*不需要改那么多东西,只需要将is_empty这个函数的声明提前,并将返回类型改下即可.
以下是改后代码,只改了注释行的代码.运行正常.*/
# include&stdio.h&
# include&malloc.h&
# include&stdlib.h&
struct Arr{
void init_arr(struct Arr * pArr, int length);
int is_empty(struct Arr * pArr);//将这行代码放到show_arr之前,因为show_arr要调用它,另外c中没有bool类型,因此这里只能用0和1的返回来判断真假.
void show_arr(struct Arr * pArr);
int main(void){
struct Arr array_1;
init_arr(&array_1,5);
show_arr(&array_1);
void init_arr(struct Arr * pArr, int length){
pArr-&pBase = malloc(sizeof(int)*length);
if(NULL == pArr-&pBase){
以下代码已修改,可运行,错误处以注释标注:
# include&stdio.h&
# include&malloc.h&
# include&stdlib.h&
struct Arr
void init_arr(struct Arr * pArr, int length);
void show_arr(struct Arr * pArr);
bool is_empty(struct Arr * pArr);
void main()
struct Arr array_1;
init_arr(&array_1,5);
show_arr(&array_1);
void init_arr(struct Arr * pArr, int length)
pArr-&pBase = (int *)malloc(sizeof(int)*length); //这是主要错误,pBase为指针,所以赋值为指针
if(NULL == pArr-&pBase)
printf(&内存分配失败!\n&);//转义字符用&\&,以下同此
pArr-&len =
pArr-&cnt ...
饿楼上是对的
都不对,我和你犯同一个毛病 ,C里面没bool类型 所以你把代码复制到新文件.cpp文件中就成功了
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁这段HTML5代码运行不出来,哪位大神帮我看看?多谢!请指出错误!
&div class=&highlight&&&pre&&code class=&language-text&&&!doctype html&
&html lang = 'en'&
&title&sljfslfjsjf&/title&
&script type = &text/javascript&&
window.addEventListener(&load&, eventWindowLoaded, false);
function eventWindowLoaded(){
canvasApp();
function canvasApp(){
var theCanvas = document.getElementById(&canvasOne&);
var context = theCanvas.getContext(&2d&);
var formElement = document.getElementById(&textBox&);
formElement.addEventListener('keyup', textBoxChanged, false);
Function textBoxChanged(e){
var target = e.
var message = target.
drawScreen();
function drawScreen(){
context.font = &50px serif&;
context.fillStyle = &red&;
context.fillText (message, 100, 120);
&div style = &position: top: 50 left: 50&&
&canvas id = &canvasOne&
width =&500& height = &300&&
Text:&input id = &textBox& placeholder = &your&/&
&/code&&/pre&&/div&
&!doctype html&
&html lang = 'en'&
&title&sljfslfjsjf&/title&
&script type = "text/javascript"&
window.addEventListener("load", eventWindowLoaded, false);
function eventWindowLoaded(){
canvasApp();
function canvasApp(){
var theCanvas = document.getElementById("canvasOne");
var context = theCanvas.getContext("2d");
var formElement = document.getElementById("textBox");
formElement.addEventListener('keyup', textBoxChanged, false);
Function textBoxChanged(e){
var target = e.
var message = target.
drawScreen();
function drawScreen(){
context.font = "50px serif";
context.fillStyle = "red";
context.fillText (message, 100, 120);
&div style = "position: top: 50 left: 50"&
&canvas id = "canvasOne"
width ="500" height = "300"&
Text:&input id = "textBox" placeholder = "your"/&
Function textBoxChanged(e){这个function f大写了。drawScreen()中的message是未定义的啊,你上面的var message是在另一个function里直接改成function textChanged(e){
var target = e.
var message = target.
context.font = "50px serif";
context.fillStyle = "red";
context.fillText (message, 100, 120);查看: 142|回复: 3|关注: 0
哪位大神能帮我看看这段代码为什么错误吗
function train(C, gamma)
% 整个训练过程,包括读入图像,PCA降维以及多类 SVM 训练,各个阶段的处理结果分别保存至文件:
%& &将 PCA 变换矩阵 W 保存至 Mat/PCA.mat
%& &将 scaling 的各维上、下界信息保存至 Mat/scaling.mat
%& &将 PCA 降维并且 scaling 后的数据保存至 Mat/trainData.mat
%& &将多类 SVM 的训练信息保存至 Mat/multiSVMTrain.mat
global imgR
global imgC
display(' ');
display(' ');
display('训练开始...');
nPerson=40;
nFacesPerPerson = 5;
display('读入人脸数据...');
[imgRow,imgCol,FaceContainer,faceLabel]=ReadFaces(nFacesPerPerson,nPerson);
display('..............................');
nFaces=size(FaceContainer,1);%样本(人脸)数目
display('PCA降维...');
[pcaFaces, W] = fastPCA(FaceContainer, 20); % 主成分分析PCA
% pcaFaces是200*20的矩阵, 每一行代表一张主成分脸(共40人,每人5张),每个脸20个维特征
% W是分离变换矩阵, 10304*20 的矩阵
visualize_pc(W);%显示主成分脸
display('..............................');
display('Scaling...');
[X,A0,B0] = scaling(X);
save('Mat/scaling.mat', 'A0', 'B0');
% 保存 scaling 后的训练数据至 trainData.mat
TrainData = X;
trainLabel = faceL
save('Mat/trainData.mat', 'TrainData', 'trainLabel');
display('..............................');
for iPerson = 1:nPerson
& & nSplPerClass(iPerson) = sum( (trainLabel == iPerson) );
multiSVMStruct = multiSVMTrain(TrainData, nSplPerClass, nPerson, C, gamma);
display('正在保存训练结果...');
save('Mat/multiSVMTrain.mat', 'multiSVMStruct');
display('..............................');
display('训练结束。');
提示的错误是
Undefined function 'fastPCA' for input arguments of type 'double'.
Error in train (line 25)
[pcaFaces, W] = fastPCA(FaceContainer, 20); % 主成分分析PCA
关注者: 52
程序没有错,只是你的调用的子函数没有,所以白搭,无法用
程序没有错,只是你的调用的子函数没有,所以白搭,无法用
有子函数,但就是那里运行不过去,能帮我看看那程序问题在哪吗
关注者: 52
有子函数,但就是那里运行不过去,能帮我看看那程序问题在哪吗
呵呵,问题不就在那里嘛,你又问我在那里
你的思维能力是不是有问题呢?
特别建议你根据算法自己编写,这样的话,你什么都很清楚了
站长推荐 /2
为其他会员撰写推荐,表示您认可他们对于论坛的出色贡献;
向其他坛友请求推荐,令您的声望页面更有说服力。
赶快学习新功能怎么用吧,推荐写起来!~
Powered by这段HTML5代码运行不出来,哪位大神帮我看看?多谢!请指出错误!_百度知道
这段HTML5代码运行不出来,哪位大神帮我看看?多谢!请指出错误!
&!doctype html&&html lang = 'en'&&head&&title&sljfslfjsjf&/title&&script type = &text/javascript&&window.addEventListener(&load&, eventWindowLoaded, false);function eventWindowLoaded(){
canvasApp();
}function canvasApp(){var theCanvas = document.getElementById(&canvasOne&);
var context = theCanvas.getContext(&2d&);
var formElement = document.getElementById(&textBox&);
formElement.addEventListener('keyup', textBoxChanged, false);
Function textBoxChanged(e){
var target = e.
var message = target.
drawScreen();
function drawScreen(){
context.font = &50px serif&;
context.fillStyle = &red&;
context.fillText (message, 100, 120);
}&/script&&/head&&body&&div style = &position: top: 50 left: 50&&&canvas id = &canvasOne&
width =&500& height = &300&& your brow&/canvas&&/div&&from&
Text:&input id = &textBox& placeholder = &your&/&
&br&&/from&&/body&&/html&
我有更好的答案
你的message变量,在一个函数里面定义,却跑到另一个函数里面使用,怎么可能获取得到呢?可以考虑用参数的形式传递过去,类似下面:&Function&textBoxChanged(e){&&&&var&target&=&e.&&&&var&message&=&target.&&&&drawScreen(message);}&&&&&&&&&&function&drawScreen(message){&&&&context.font&=&&50px&serif&;&&&&context.fillStyle&=&&red&;&&&&&&&//这样才能获取得到textBoxChanged函数里面定义的值&&&&&&&&&&&&&&&&&context.fillText&(message,&100,&120);}
大神,您上面的这段代码还是不行,请您在给想想办法,多谢!
把上面的拼写错误 Function 改成 function 就行了。
其他类似问题
为您推荐:
html5的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁求帮看一下这段代码哪里有问题,我想产生六位和数据库里面的账号不一样,但是貌似是死循环还是怎么的了_百度知道
求帮看一下这段代码哪里有问题,我想产生六位和数据库里面的账号不一样,但是貌似是死循环还是怎么的了
int n = 0;
boolean flag =
while(n & 100000 || flag == true){
n = (int)(Math.random()*1000000);
s = &select * from account_info where accountId = '&+n+&'&;
flag = stmt.execute(s);
我有更好的答案
java中,0&=Math.random()&1,就是说Math.random()产生的值永远是在0和1之间,所以Math.random()*0000,而且,double强制转in,只是断开小数位,如9.999999转换后只是等于9,不是进行四舍五入,即使是四舍五入最多也就是等于1000000,你的条件是n & 1000000,怎么也不会跳出循环。n & 100000 || flag == true这样的条件组合,第一个永远为真,第二个条件就多余了。你这段代码到底想要达到什么目的?
难道没有溢出、
数据库链接了吗?
而且连成功了的,其他连数据库的操作都没问题
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 看看这位92岁的姑娘 的文章

 

随机推荐