| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 644 人关注过本帖
标题:[求助]C Primer Plus练习题问题
取消只看楼主 加入收藏
家力掠
Rank: 2
等 级:论坛游民
帖 子:52
专家分:16
注 册:2015-6-28
结帖率:41.18%
收藏
已结贴  问题点数:20 回复次数:0 
[求助]C Primer Plus练习题问题
题目:编写一个函数string_in(),它接受两个字符串参数,如果第二个字符串被包含在第一个中,就返回被包含的字符串开始的地址.例如:string_in("hats","at")返回hats中a的地址,否则返回空指针.
程序代码:
#include <stdio.h>
char *string_in(char *,char *);
int main(void)
{
   char str1[81], str2[81];
   char *ptr;

   do{

   puts("Enter the first string: ");
   fgets(str1, 80, stdin);
   puts("Enter the second string: ");
   fgets(str2, 80, stdin);
   ptr = string_in(str1, str2);
   if(ptr){
      puts(ptr);
      printf("address:%p\n", ptr);
   }  

   else  puts("Can't find!");
   puts("Enter any char except q to continue:");
   fgets(str1, 80, stdin);
   }while(*str1 != 'q');
   puts("Quit!");

   return 0;
}

char *string_in(char *str1, char *str2)
{
   for (; *str1 != '\0'; str1++)
      for (; *str2 != '\0'; str2++)
         if (*str1 == *str2)
            return str1;
   if (*str1 == '\0' || *str2 == '\0')
      return NULL;
}
想问下错在哪里,为什么每次输入例如good od以后就输出Can't find.但是输入od good以后就可以返回指针的地址,每次不输入参数时也可以返回指针地址.
搜索更多相关主题的帖子: 练习题 字符串 
2015-08-14 21:40
快速回复:[求助]C Primer Plus练习题问题
数据加载中...
 
   



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

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