servlet模板下载:C语言declaration syntax error

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 00:28:45
编译出现declaration syntax error,不知道哪里出错了.
这个是南开题,不知道为什么通过不了?
#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<ctype.h>

unsigned char xx[50][80];
int maxline=0;/*文章的总行数*/

int ReadDat(void)
void WriteDat(void)

void encryptchar()
{
int i;
char *pf;
for(i=0;i<maxline;i++)
{pf=xx[i];
while(*pf!=0)
{if((*pf>='a'&&*pf<='z')||*pf*11%256<32)
{pf++;continue;}
*pf=*pf*11%256;
pf++;
}
}
}
void main()
{
clrscr();
if(ReadDat()){
printf("数据文件ENG.IN不能打开!\n\007");
return;
}
encryptChar();
WriteDat();
}

int ReadDat(void)
{
FILE *fp;
int i=0;
unsigned char *p;

if((fp=fopen("eng.in","r"))==NULL) return 1;
while(fgets(xx[i],80,fp)!=NULL){
p=strchr(xx[i],'\n');
if(p)*p=0;
i++;
}
maxline=i;
fclose(fp);
return 0;
}

void WriteDat(void)
{
FILE *fp;
int i;
fp=fopen("ps8.dat","w");
for(i=0;i<maxline;i++){
printf("%s\n",xx[i]);
fprintf(fp,"%s\n",xx[i]);
}
fclose(fp);
}
为什么没有?
这是南开100题的第三题,第一题目也通过不了.

不去掉unsigned,把函数声明后的逗号加上,编译也没问题,只是连接有问题
你的函数声明后面没加分号
即:
int ReadDat(void);
void WriteDat(void);
main函数里应该用到了encryptchar();函数,注意其中的c要小写,你打成大写的了。
clrscr();函数应该在conio.h里,但VC里不能连接(TC可以),建议用system("cls");
把以上的改了,编译连接就能通过了。

你的程序很有问题,粗粗一看,就有5个问题
1、int ReadDat(void) ----后面要有分号
2、void WriteDat(void)----后面要有分号
3、clrscr(); ----这个函数没有声明过
4、encryptChar();----这个函数也没有声明过
5、pf=xx[i]; ----这里也有问题
........
综上所述,你的程序不全,没法帮你调试,粗略就以上几个问题

由于没有你的ENG.IN文件,所以我也没测试,看了一下,主要出现在最开始那个unsigned char xx[50][80];上了,你把unsigned这个关键字去掉就可以顺利编译通过。

另外楼上说的那种形式是有的,声明无符号字符型变量,有的时候利用它存取一个字节的数据用。

unsigned char ?
有这种写发?