c语言的空语句作用是什么,空语句出现在什么位置会影响程序的运行

#include

#include

#include

/*Two long-options:"help" && "version".*/

const struct option long_options[]={

{"help",0,NULL,'h'},

{"version",0,NULL,'v'},

{NULL,0,NULL,0}

};

int main(int argc,char *argv[]){

int n_on=0,e_on=0;

int strstart;

int value;

char charb;

int nl=1;

/*Analysis parameters of the program.*/

while((value=getopt_long(argc,argv,"enhvE",long_options,NULL))!=-1){

switch(value){

case 'e':

e_on=1;

break;

case 'n':

n_on=1;

break;

case 'E':

e_on=0;

break;

case 'h':

system("man echo");

return 0;

case 'v':

printf("Version:0.1\nBulit by SnakeWind\nJune,29,2008\n");

return 0;

case '?':

printf("Parameter no found.\nPlease check you input.\n");

return 1;

}

}

/*Look for the start point of string.*/

for(strstart=1;*argv[strstart]=='-';strstart++);

/*String output.*/

for(strstart=1;strstart

if(*argv[strstart]==45)

continue;

for(int i=0;*(argv[strstart]+i)!='\0';i++){

charb=*(argv[strstart]+i);

if(charb=='\\' && e_on==1){

i++;

charb=*(argv[strstart]+i);

if(charb>='0' && charb<='9'){

i+=2;

charb=*(argv[strstart]+i-2)*64+*(argv[strstart]+i-1)*8+*(argv[strstart]+i)*1;

printf("%c",charb);

}

else if(charb=='a') {printf("\a");}

else if(charb=='b') {printf("\b \b");}

/*        else if(charb=='c') {nl=0;}*/

else if(charb=='f') {printf("\n\b");}

else if(charb=='n') {printf("\n");}

else if(charb=='r') {printf("\r");}

else if(charb=='t') {printf("\t");}

else if(charb=='\\') {printf("\\");}

else if(charb=='\"') {printf("\"");}

else printf("%c",charb);

}

printf("%c",charb);

}

printf(" ");

}

if(n_on==0) printf("\n");

}

---------------------------------------------英俊潇洒的分隔线-----------------------------------------------

这个是我的Blog上出现的代码。首先,这个在Windows下是无法通过编译的;其次,大部分与本贴的主题是没有关系的。

注意标成红色的地方,这个是唯一的关键。我在这里需要找到第一个首字节不是‘-’的命令行参数,因而使用了这个for语句。for语句并没有循环执行任何代码段,只是不断增加变量strstart的值,直到我认为足够为止。这就是我举的例子了^^

顺便回楼主,for用于延时也是可行的.但是我个人趋向于使用sleep()函数。

还有用在case后面,就是你的switch用了default执行某项动作,但是又要在某种输入时不做任何反应时用。例子,暂时还没有,就不举了哈~

[[it] 本帖最后由 snakealpha 于 2008-8-27 19:32 编辑 [/it]]

6f83fddf9cb9ff6843fffd45e1807199.gif

天涯也有江南信

梅破知春近

夜阑风细得香迟

不道晓来开遍向南枝

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值