字符串


Problem Statement
For a given source string and a target string, you should output the first
index(from 0) of target string in source string.If target does not exist in source, just return -1.(寻找目标字符串在源字符串中出现的位置)
Example
If source = "source" and target = "target", return -1.
If source = "abcdabcdefg" and target = "bcd", return 1.(从零开始,bdc在第二位置,故输出1);

int strStr(char* haystack, char* needle) {
    
    if(haystack ==NULL|| needle ==NULL)
        return -1;
    const int strl_h=strlen(haystack);
    const int strl_n=strlen(needle);
    
    int i,j=0;
    for (i=0;i

形参使用char 型指针变量,调用开始形参指向字符数组的首地址。

  • 整理课程列表

冬瓜同学平时十分喜欢在实验楼学习新课程,每学完一节课就会将其记下。当学会的编程语言多了,就想整理汇总一下,看看自己的技术栈。为了有序排列所有的编程语言,冬瓜决定使用冒泡排序对其进行排列。而字符串的比较方法使用的是字典序。

#include
#include

char *courses[]={"C","C++","PHP","COBOL","ASP.NET","C#","JAVA","BASIC","PASCAL","ASP"};
void sort(char *p[],int n)
{
    char *tmp;
    int i,j,k;
    for(i=0;i

注意:数组指针与指针数组
char *courses[3],由于[]的优先级高于*,因此courses先与[]结合构成数组,数组元素类型为(char *),故其为指针数组。
char (*courses)[3]
与courses结合表明其是一个指针,在于后面的[3]结合,申明其为一个包含4个元素数组的指针。故其为数组指针,即指向数组的指针。
下图是二者在内存中区别:

字符串_第1张图片
数组指针与指针数组

参考文献

【1】实验楼-整理课程列表 (https://www.shiyanlou.com/contests/lou4/console)
【2】C语言指针数组和数组指针(http://c.biancheng.net/cpp/html/476.html)
【3】实验楼-经典算法解题实战 字符串(一)(https://www.shiyanlou.com/courses/492)

你可能感兴趣的:(字符串)