2019-08-23(指针和数组)

2019-08-23  本文已影响0人  1墨家巨子
int *fun1(){
    //分配一片堆区的空间
    int *p=(int *)malloc(sizeof(int)*1);
    int a=30;
    *p=a;
    return p;
}
#define N 20
/***在指定字母后面插入一个字符串
 * 参数:
 *   原字符串:arr
 *   插入原字符串中的哪个字母后面: find_ch
 *   要插入的字符串: insert_ch
***/
char* insert_arr(char *arr,char find_ch,char *insert_ch){
    if(arr==NULL)
    { return 'a'; }
    *arr=(char *)malloc(sizeof(char)*N);
    unsigned short int i,count=0;
    unsigned short int find_i=0;
    for(i=0;i<strlen(arr);i++){
        if(find_ch==arr[i]){
            find_i=i;//找到插入字母的位置
            find_i+=1;
        }
        else count++;
    }
    if(count==strlen(arr)){
//         printf("%s\n",arr);
        return arr;//如果没有找到这个字母,目的字符串输出
    }
    for(i=strlen(arr);i>=find_i;i--){
        arr[i+strlen(insert_ch)]=arr[i];//移动要插入字符串长度的位数
    }
    for(i=0;i<strlen(insert_ch);i++){
        arr[find_i+i]=insert_ch[i];//插入指定字符串
    }
//     printf("%s\n",arr);
    return arr;
}
上一篇下一篇

猜你喜欢

热点阅读