测试-c语言程序编译出错error: syntax error before "typedef"

问题描述

c语言程序编译出错error: syntax error before "typedef"

设计的一个顺序循环队列和测试函数,结果编译的时候就有好多error: syntax error before ""不知道要怎么改,求帮助~
这是我的代码:
头文件:
#include
typedef struct SeqCQueue
{
DataType queue[MaxQueueSize];
int MaxQueueSize;
int rear;
int front;
}struct SeqCQueue;
void QueueInitiate(SeqCQueue *Q)
{
Q->rear=0;
Q->front=0;
}
int QueueNotEmpty(SeqCQueueQ)
{
if(rear==front)
return 1;
else
return 0;
}
int QueueAppend(SeqCQueue*Q,DataType x)
{
if((rear+1)%MaxQueueSize==front)
{
printf("队列已满无法插入!
");
return 0;
}
else
{
Q->queue[Q->rear]=x;
Q->rear=(Q->rear+1)%MaxQueueSize;
return 1;
}
}
int QueueDele(SeqCQueue*Q,DataType*d)
{
if(rear==front)
{
printf("队列已空,无数据元素出队列!
");
return 0;
}
else
{
*d=Q->queue[Q->front];
Q->front=(Q->front+1)%MaxQueueSize;
return 1;
}
}
int QueueGet(SeqCQueue Q,DataType*d)
{
if(rear==front)
{
printf("队列已空,无数据元素可取!
");
return 0;
}
else
{
*d=Q.queue[Q.front];
return 1;
}
}
测试函数:
#include
#include
typedef struct
#include"2.h"
int main(void)
{
typedef struct
{

int queue[MaxQueueSize];
int rear;
int front;

}SeqCQueue;
void QueueInitiate(SeqCQueue*Q)
int QueueNotEmpty(SeqCQueue*Q)
int i,x=1;
for(i=0;i<10;i++)
{
QueueAppend(SeqCQueue*Q,DataType x)
x++;
}
QueueGet(SeqCQueue Q,DataType*d)
printf("此队列队头元素为%d",*d);
for(i=0;i<10;i++)
{
QueueDele(SeqCQueue*Q,DataType*d)
printf("%d",*d);
free(d)
}
}

解决方案

syntax error : missing ';' before '*
error C2143: syntax error : missing ';' before 'tag::id' 'BOOL' : redefinition; typedef cannot be ov
phpmyadmin建表出错 #1064 - You have an error in your SQL syntax;

解决方案二:

楼主重新发一下代码吧,把代码放在代码框里面发
typedef struct SeqCQueue
{
DataType queue[MaxQueueSize];
int MaxQueueSize;
int rear;
int front;
}struct SeqCQueue;
最好改成
typedef struct SeqCQueue
{
DataType queue[MaxQueueSize];
int MaxQueueSize;
int rear;
int front;
}SeqCQueue;

DataType又是啥?MaxQueueSize也看不到?

解决方案三:

多了一个语句#include,这句话后面没有包含头文件,所以报错了。

解决方案四:

头文件:
#include
typedef struct SeqCQueue
{
DataType queue[MaxQueueSize];
int MaxQueueSize;
int rear;
int front;
}struct SeqCQueue;
void QueueInitiate(SeqCQueue *Q)
{
Q->rear=0;
Q->front=0;
}
int QueueNotEmpty(SeqCQueueQ)
{
if(rear==front)
return 1;
else
return 0;
}
int QueueAppend(SeqCQueue*Q,DataType x)
{
if((rear+1)%MaxQueueSize==front)
{
printf("队列已满无法插入!
");
return 0;
}
else
{
Q->queue[Q->rear]=x;
Q->rear=(Q->rear+1)%MaxQueueSize;
return 1;
}
}
int QueueDele(SeqCQueue*Q,DataType*d)
{
if(rear==front)
{
printf("队列已空,无数据元素出队列!
");
return 0;
}
else
{
*d=Q->queue[Q->front];
Q->front=(Q->front+1)%MaxQueueSize;
return 1;
}
}
int QueueGet(SeqCQueue Q,DataType*d)
{
if(rear==front)
{
printf("队列已空,无数据元素可取!
");
return 0;
}
else
{
*d=Q.queue[Q.front];
return 1;
}
}
测试函数:
#include
#include
typedef struct
#include"2.h"
int main(void)
{
typedef struct
{

int queue[MaxQueueSize];
int rear;
int front;

}SeqCQueue;
void QueueInitiate(SeqCQueue*Q)
int QueueNotEmpty(SeqCQueue*Q)
int i,x=1;
for(i=0;i<10;i++)
{
QueueAppend(SeqCQueue*Q,DataType x)
x++;
}
QueueGet(SeqCQueue Q,DataType*d)
printf("此队列队头元素为%d",*d);
for(i=0;i<10;i++)
{
QueueDele(SeqCQueue*Q,DataType*d)
printf("%d",*d);
free(d)
}
return 0;
}

@

时间: 2024-11-03 15:36:57

测试-c语言程序编译出错error: syntax error before &amp;quot;typedef&amp;quot;的相关文章

C++控制台程序编译出错

问题描述 C++控制台程序编译出错 编译程序时出现错误: f:练习raceracerace.cpp(1): fatal error C1083: 无法打开包括文件:"stdafx.h": No such file or directory 网上的方法都用过了,结果都还是生成失败,请问怎么解决. 解决方案 方案一:可以不使用预编译头,将include "stdafx.h"注释掉,然后直接在文件中直接包含你所需的标准库文件 方案二:可以新建一个工程,然后从解决方案资源管

线性表-c语言程序编译都没问题,运行就崩溃,求解!!!

问题描述 c语言程序编译都没问题,运行就崩溃,求解!!! #include #include #define LIST_INIT_SIZE 100#define LISTINCREMENT 10#define OVERFLOW -1#define OK 1#define ERROR 0typedef int ElemType;typedef struct{ ElemType *elem;//存储空间基址 int length;//当前长度 int listsize;//当前分配的存储容量}SqL

c++-C++程序编译出错,帮忙修改,可以的话,把修改后的完整程序发上来

问题描述 C++程序编译出错,帮忙修改,可以的话,把修改后的完整程序发上来 #include #include #include #define max 5 typedef struct{ char b;//存储商品名 //商品日期年.月.日 int year; int month; int day; }Data; typedef struct{ Data a[max];//0为栈底位置 int top;//栈顶 }Stack; //初始化空栈 Stack *initstack(){ Stack

PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法_php技巧

今天在写PHP程序的时候总是出现这样的错误:Parse error: syntax error, unexpected end of file in *.php on line *,然后我就根据提示,找到那个文件,然后错误中总是提示最后一行出错,我找到最后一行发现是</html>,晕的,这能有什么错误,找了好久才找到问题所在,拿来分享. 出现这个错误的原因就是语法错误,肯定是PHP程序的书写不规范造成,我后来一条一条看才发现,原来是PHP语句标识符错了,正常情况下应该是这样的:<?php

PHP Parse Error: syntax error, unexpected $end 错误的解决办法_php技巧

这几天写php程序,感觉很多地方不如asp,asp.Net,jsp顺手,比如session使用先得session_start();,文件跳转header用的也不方便.... 也许是不熟悉的php的一些特性吧,不过写多了,也就慢慢适应将就了..... 这里就整理一个代码编写调试问题,错误如下: Parse error: syntax error, unexpected $end in D:\xampp\htdocs\guestBook\guestBook.php on line 330 看看程序

PHP Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE

在程序初始时,遇到错误为: PHP Parse error:  syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/developer/pp1/8-22.php教程 on line 5, referer: http://localhost/developer/pp1/form_input.html,在网上检查了一下,说是语法

Parse Error: syntax error, unexpected $end 错误

也许是不熟悉的php的一些特性吧,不过写多了,也就慢慢适应将就了..... 这里就整理一个代码编写调试问题,错误如下: Parse error: syntax error, unexpected $end in D:xampphtdocsguestBookguestBook.php on line 330 看看程序 330行,代码最后一行,这有什么错误?google搜,找到了: In PHP 5, the following error may appears as an error entry

php 数据采集-php Parse error: syntax error, unexpected T_VARIABLE in 错误

问题描述 php Parse error: syntax error, unexpected T_VARIABLE in 错误 <?php session_start(); $username=$_post[user]; $sql=mysql_query("select*from luntan where regname="$username""); $result=mysql_fetch_array($sql); if($result!=flase){ ec

php提示Parse error: syntax error, unexpected T_ENDWHILE in

问题现象: 1.同样的代码,在某些机器上运行正常,但在特定机器上运行报错. 2.同一站点部分页面显示正常(例如<?php phpinfo();?>),但打开部分页面时,phpxx_errors.log或者页面显示错误提示"Parse error: syntax error, unexpected T_ENDWHILE in xx.php on line xx". 错误原因: 该错误有可能是因为编写PHP脚本时丢失一个花括号("}"),但更常见的原因是ph