| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 640 人关注过本帖
标题:菜鸟求助。一个程序,有些读不懂的地方,忘大虾们指点下!
取消只看楼主 加入收藏
fifa_king
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2008-7-21
收藏
 问题点数:0 回复次数:1 
菜鸟求助。一个程序,有些读不懂的地方,忘大虾们指点下!
源程序如下:
#include<stdio.h>
#include<string.h>
#include<ctype.h>
char *dic[][40]={  
  "atlas","A volume of maps.",
  "car","A motorized vehicle.",
  "telephone","A commmunication device.",
  "airplane","A flying machine.",
  " "," "
};

int main(void)
{
  char word[80],ch;
  char **p;
  do{
    puts("\nEnter word:");
    scanf("%s",word);
    p=(char **)dic;   /*<-此为第一处看不懂的地方,这个语句到底什么意思,有什么用?*/
    do{
      if(!strcmp(*p,word)){
    puts("Meaning:");
    puts(*(p+1));
    break;
      }
      if(!strcmp(*p,word)) break;
      p=p+2;
    }while(*p);
    if(!*p) puts("Word not in dictionary.");
    printf("Another?(y/n):");
    scanf("%c%*c",&ch);  /*<-此为第二处看不懂的地方,同样是看不懂这个语句的用意。*/
  }while(toupper(ch)!='N'); /*<-第三处,为什么无论输入y,还是n,都不跳出循环,仍然从头开始执行*/
  return 0;
}
大虾们帮忙看看,帮忙解释下前2处的语句,看看第三处有什么问题,让do循环是个死循环。谢谢了
搜索更多相关主题的帖子: telephone include machine volume 源程序 
2008-08-07 16:45
fifa_king
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2008-7-21
收藏
得分:0 
十分感谢楼上兄弟的帮忙,受教非浅,十分感谢!

科学家会武术,谁也挡不住!
                      ——郭德纲
2008-08-08 09:03
快速回复:菜鸟求助。一个程序,有些读不懂的地方,忘大虾们指点下!
数据加载中...
 
   



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

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