标题:Knocker进来一下
只看楼主
aadai
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-10-3
 问题点数:0 回复次数:1 
Knocker进来一下

whle里面的第一个if不太懂

把你的qq留一下把
nt main(void)
{ int Printflag=1,Stringflag=-1;
int Flag0=1,Flag1=1;
char *ptr;
char *MAIN_string=
"#include<stdio.h>\n"
"int main(void)\n"
"{\n"
" long i,j,k,a=0;//定义变量\n"
" for (i=1;i<=360;i++) /*可以证明i是小于等于360的*/\n"
" for/*测试*/ (j=1;j<500;j++)\n"
" for (k=1;k<=500;k++)//TEST//测试\n"
" if (i*i+j*j==k*k) \n"
" a++; \n"
"printf(\"Total:%d\\n\",a);\n"
"printf(\"删除注释示例// /**/ \\n\");\n"
"}";

ptr=MAIN_string;

while(*ptr)printf("%c",*ptr++);
printf("\n\n\n");
ptr=MAIN_string;

while(*ptr)
{

if(*ptr=='\"'&&*(ptr-1)!='\\')Stringflag*=-1;
if(Stringflag == -1)
{
if(*ptr=='/'&&*(ptr+1)=='*')Flag0=0;
if(*ptr=='*'&&*(ptr+1)=='/')Flag0=1,ptr+=2;
if(*ptr=='/'&&*(ptr+1)=='/')Flag1=0;
if(*ptr=='\n')Flag1=1;
if(Flag0&&Flag1)Printflag=1;
else Printflag =0;

}
else
{
Printflag=1;
// printf("%c",*ptr++);
}
if(Printflag)printf("%c",*ptr++);
else ptr++;

}

}

搜索更多相关主题的帖子: Knocker int void main 
2006-10-29 12:41
aadai
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-10-3
得分:0 
if(*ptr=='\"'&&*(ptr-1)!='\\')Stringflag*=-1;


没有必要判断ptr前一个字符是'\\'把

只要遇到奇数个的'\"'就直接打印

为什么要前那个是转义字符呢

'\"'是一个字符 在内存站一个字节

是吗
2006-10-29 13:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-99499-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.996352 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved