程序分析:
#include <stdio.h>
#include <string.h>
void Get_M_str(char* des, const char* src, int m)
{
const char* p = src; //把传进来的常变量src的第一个格子的内容赋值给临时变量p 但一定要确保两个类型要一致
for (int i = 1; i < m; i++)
{
p++; // p每往后走一步其实表示是src的下标在往后走一个格子所指向的存储内容
}
strcpy_s(des, 100, p); //赋值函数 表示从src的下标为m-1(也就是第p个格子)的格子开始往后给des赋值。
/*while(*p != '\0')
{
*des++ = *p++;
}
*des = '\0';*/
}
int main()
{
char str[100] = { 0 }; //给定字符串str中的数全为0
const char *str2 = "abcabc"; //给定str2中为字符串"abcabc"
Get_M_str(str, str2, 2); //传参
//子函数是为了得到第m位之后的字符串 传入的信息有要输出的新的字符串str,以及给定字符串内容的str2,以及要从哪一位开始的位数
printf("%s\n", str); //最后打印获取的第m位之后的新字符串str
}
调试结果为: