| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 451 人关注过本帖
标题:删掉这语句,程序也可以正常运行(初学者)
只看楼主 加入收藏
liangjinchao
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:376
专家分:697
注 册:2010-11-8
结帖率:97.44%
收藏
已结贴  问题点数:5 回复次数:3 
删掉这语句,程序也可以正常运行(初学者)
#include"stdio.h"
int c;
main()
{
    char string[100],ch,*p,*small();
    printf("input a string;\n");
    gets(string);
    printf("input the character:\n");
    ch=getchar();
    p=small(ch,string);
        if(p)
        printf("%s %d\n",p,(c+1));
        else
        printf("no match found");
        getch();
}
char *small(char cha,char *s)
{
    c=0;
    while(cha!=s[c]&&s[c]!='\0')/*这里*/
        c++;
    if(s[c])
        return(&s[c]);
    return 0;
}
程序功能:在读入一个字符串中查找一个给定的字符,如果找到,则从该字符开始输出余下的字符串,以及该字符是字符串的第几个字符。否则输出“no match found”
我上机时把注释处的 &&s[c]!='\0' 删掉,但程序依然正常可以运行,那么删掉的语句的作用是.....
搜索更多相关主题的帖子: 字符串 
2011-02-14 20:35
pcbaichi
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:486
专家分:1185
注 册:2010-11-13
收藏
得分:2 
为了判断s[0]是否是字符串结束符,若是,则不执行循环,反之,执行;因为一般不会输入结束符,所以去掉不会有太大影响

免费赠送河蟹一只
2011-02-14 20:40
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:2 
有时候就是这样

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2011-02-14 22:41
cdutzh101
Rank: 2
等 级:论坛游民
帖 子:43
专家分:64
注 册:2009-8-20
收藏
得分:2 
个人弄了个简单的
void main()
{
  char ch[30];
  int m,n,t=0;
  char tt;
  gets(ch);
  tt=getchar();
  n=strlen(ch);
  for(m=0;m<n;m++)
  {
      if(tt==ch[m])
      {
         t=m+1;
          printf("找到了。位置是第%d个",t);
          printf("\n余下的为:");
          for(;t<n;t++)
          {
              printf("%c",ch[t]);
          }
      }
     
  }
  if(t==0)
          printf("没有找到哦。请核实");

}
2011-02-14 22:55
快速回复:删掉这语句,程序也可以正常运行(初学者)
数据加载中...
 
   



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

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