| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5222 人关注过本帖
标题:空语句出现在什么位置会影响程序的运行
只看楼主 加入收藏
yt414204458
Rank: 2
等 级:论坛游民
帖 子:260
专家分:55
注 册:2008-3-1
结帖率:50%
收藏
 问题点数:0 回复次数:7 
空语句出现在什么位置会影响程序的运行
如题,举点例子出来
搜索更多相关主题的帖子: 语句 位置 运行 
2008-08-27 19:10
snakealpha
Rank: 1
来 自:扬州
等 级:新手上路
威 望:1
帖 子:267
专家分:0
注 册:2005-11-5
收藏
得分:0 
一个是预处理的部分
一个是诸如for(;;)的后面啦,Case的后面之类的地方

天涯也有江南信
梅破知春近
夜阑风细得香迟
不道晓来开遍向南枝
2008-08-27 19:12
忆馨亦伊
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2008-8-26
收藏
得分:0 
没看懂啊,例子啊
2008-08-27 19:19
yt414204458
Rank: 2
等 级:论坛游民
帖 子:260
专家分:55
注 册:2008-3-1
收藏
得分:0 
回复 2# snakealpha 的帖子
这种地方出现是会影响程序的运行时间吧?

一切从爱C开始
2008-08-27 19:21
snakealpha
Rank: 1
来 自:扬州
等 级:新手上路
威 望:1
帖 子:267
专家分:0
注 册:2005-11-5
收藏
得分:0 
当计数器用,例子的话,待我杜撰一个先~

天涯也有江南信
梅破知春近
夜阑风细得香迟
不道晓来开遍向南枝
2008-08-27 19:23
snakealpha
Rank: 1
来 自:扬州
等 级:新手上路
威 望:1
帖 子:267
专家分:0
注 册:2005-11-5
收藏
得分:0 
#include <stdio.h>
#include <stdlib.h>
#include <getopt.h>

/*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<argc;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&lt;='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]]

天涯也有江南信
梅破知春近
夜阑风细得香迟
不道晓来开遍向南枝
2008-08-27 19:29
hangeng
Rank: 2
等 级:论坛游民
帖 子:424
专家分:39
注 册:2007-7-23
收藏
得分:0 
不影响!

程序运行!

  雨水冲不进窗来,在玻璃上痛哭。但它至少奋斗过。
2008-08-27 21:55
csynyk
Rank: 1
等 级:新手上路
威 望:1
帖 子:114
专家分:0
注 册:2008-8-9
收藏
得分:0 
空语句出现在什么位置会影响程序的运行
-----------------------------------------
1、
 if(flag); //此处多了一个 ;形成了一个空语句,导致不论条件是否成立都会运行下面的do something了。
     do somesthing;

2、
  
  while(i>number);  //此处多了一个 ;形成了一个空语句,从而导致了死循环
       i++;

http://blog./csynyk
2008-08-27 22:12
快速回复:空语句出现在什么位置会影响程序的运行
数据加载中...
 
   



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

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