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.如
相关问答:
两个文件1.PC,1.inc
1.PC有操作oracle数据库的 ,1.inc也有操作oracle数据库
在其他数据中如informix 中$include 1.inc就可以使用了
在ORACLE数据库重 $include 1.inc不可用 EXEC SQL include 1.inc也不可 ......
如题,C/C++中的execl怎么调用写好的java程序,
execl("/opt/java1.5/bin/java","MyClass",NULL);
这样的不行哦。
不会.
运行java程序
找工具查看一下那个程序的命令行
搜索下:jni ......
有一10*10矩阵,除去第一个点(0,0)和最后一点(9,9),还有八个点为1,其他都为0,要求用二维数组表示。八个点是随机生成的,编写相关程序表示矩阵所有可能情况。
真心求教各位高手,哎!本人太菜了!呵呵!
......
C语言编程 从键盘上输一个单词 判断单词是否在词库有,词库是一个文本。
scanf("%c",&c);
if()判断就行了。
抢SF。
写的短
引用
scanf("%c",&c);
if()判断就行了。
抢SF。
......