易截截图软件、单文件、免安装、纯绿色、仅160KB

c程序问题

题目是:编写一个函数string_in,他接受两个字符串指针参数。如果第2个字符串被包含在第一个字符串中,函数就返回被包含的字符串开始的地址。例如,string_in("hats","at")返回hats中a的地址,否则,函数返回空指针。
下面是我的代码:
#include <stdio.h>
#include <string.h>
#define LEN 20
char *string_in(const char *s1,const char*s2);
int main()
{
char orig[LEN]="transport";//`````````````````````````````````````7
char *find;
    puts(orig);
find=string_in(orig,"port");
if(find)
puts(find);
else puts("Not Find");
return 0;
}
char *string_in(const char *s1,const char *s2)
{
int len=strlen(s2);int in=1;
int tries=strlen(s1)-len+1;
while(in=strncmp(s1,s2,len)&&tries--)
s1++;
if(in)
return NULL;
else return (char *)s1;//````````````````````````````````````````````20行
}
上述代码可以很好的实现题目功能,我想问的是1.第7行中的LEN,我进行了宏定义,但是如果我去掉宏定义,在第6行加上
int LEN=20,编译会出现问题。
2.如果在第20行不加(char *)编译通不过,s1不是在函数定义中申明是char*(指针)了么?为什么不能返回(编译器说return”: 无法从“const char *”转换为“char *)。
上边两个问题,希望大家帮我找下问题所在。
找到了解决方案,虽没人回答,但是为了给以后查看此帖的人方便,我把解决方案写出来:
1.如


相关问答:

linux下C语言开发oracle的问题。

两个文件1.PC,1.inc
1.PC有操作oracle数据库的 ,1.inc也有操作oracle数据库 
在其他数据中如informix 中$include 1.inc就可以使用了
在ORACLE数据库重 $include 1.inc不可用 EXEC SQL include 1.inc也不可 ......

execl怎么调用java程序 - C/C++ / C语言

如题,C/C++中的execl怎么调用写好的java程序,
execl("/opt/java1.5/bin/java","MyClass",NULL);
这样的不行哦。

不会.

运行java程序
找工具查看一下那个程序的命令行

搜索下:jni ......

求教c/c++语言相关问题 - C/C++ / C语言

有一10*10矩阵,除去第一个点(0,0)和最后一点(9,9),还有八个点为1,其他都为0,要求用二维数组表示。八个点是随机生成的,编写相关程序表示矩阵所有可能情况。
真心求教各位高手,哎!本人太菜了!呵呵!
......

求c程序 - C/C++ / C语言

C语言编程 从键盘上输一个单词 判断单词是否在词库有,词库是一个文本。
scanf("%c",&c);
if()判断就行了。
抢SF。
写的短

引用
scanf("%c",&c);
if()判断就行了。
抢SF。 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号