c语言大括号中单引号啥意思,查找C语言中基本语法错误,如小括号,中括号,大括号,单引号,双引号...

/******************************************************

KnR 1-24

--------

Write a program to check the syntax of a C program

for matching {} () "" '' []

******************************************************/

#include

#define MAXLINE 1000 /* max input line size */

char line[MAXLINE]; /*current input line*/

int getline(void);  /* taken from the KnR book. */

int main()

{

int len=0;//输入的长度

int t=0;

int brace=0;//方括号的个数,'['加1,']'减1

int bracket=0;//大括号的个数,'['加1,']'减1

int parenthesis=0;//小括号的个数,'['加1,']'减1

int s_quote=1;//单引号奇偶标志

int d_quote=1;//双引号奇偶标志

while ((len = getline()) > 0 )

{

t=0;

while(t < len)

{

if( line[t] == '[')

{

brace++;

}

if( line[t] == ']')

{

brace--;

}

if( line[t] == '{')

{

bracket++;

}

if( line[t] == '}')

{

bracket--;

}

if( line[t] == '(')

{

parenthesis++;

}

if( line[t] == ')')

{

parenthesis--;

}

if( line[t] == '\'')

{

s_quote *= -1;

}

if( line[t] == '"')

{

d_quote *= -1;

}

t++;

}

}

if(d_quote !=1)

printf ("Mismatching double quote mark\n");

if(s_quote !=1)

printf ("Mismatching single quote mark\n");

if(parenthesis != 0)

printf ("Mismatching parenthesis\n");

if(brace != 0)

printf ("Mismatching brace mark\n");

if(bracket != 0)

printf ("Mismatching bracket mark\n");

if( bracket==0 && brace==0 && parenthesis==0 && s_quote == 1 && d_quote == 1)

printf ("Syntax appears to be correct.\n");

return 0;

}

int getline(void)

{

int c, i;

extern char line[];

for ( i=0;i

line[i] = c;

if(c == '\n')

line[i++] = c;

line[i] = '\0';

return i;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值