请高手帮忙详细解释一下下面的一个C语言程序!谢谢。要详细。

2024年11月16日 12:53
有3个网友回答
网友(1):

总体就是个从一个字符串中取几个字符出来

#include
#include
int substr(char str[],int x,int y);
main() //主程序
{
char str[100]={"I like the lesson"}; //定义字符数组

substr(str,3,6); //调用取子字符串函数substr,从第2个字符取6个字符
}
int substr(char str[],int x,int y) //定义函数
{

char str1[100]; //新定义字符数组
memset(str1, 0, 100);
int i;
int max;
max=x+y-1;
for(x=x-1,i=0;x{
str1[i]=str[x]; //从i=0开始,在新定义的字符数组里赋值,x从2开始到7,即从str组里第2个字符取到第7个字符
}
for(i=0;iprintf("%c\n",str1[i]); //输出这6个字符
return 0;

}

网友(2):

打印出字符串的第X到Y的字符
for(x=x-1,i=0;x{
str1[i]=str[x];
}
等于
i=0;
for (x=x-1;x{
str1[i]=str[x];
i++;
}

网友(3):

我的注释大概就这样子吧。楼主一定要加油学哦。
#include
#include
int substr(char str[],int x,int y);
main() //主函数
{
char str[100]={"I like the lesson"};

substr(str,3,6); //调用取子字符串函数substr,从第2个字符取6个字符

}
int substr(char str[],int x,int y) //定义函数

{

char str1[100]; //新定义字符数组
memset(str1, 0, 100);
int i;
int max; //定义函数
max=x+y-1; //给max赋值
for(x=x-1,i=0;x{
str1[i]=str[x]; //从i=0开始,在新定义的字符数组里赋值,x从2开始到7,即从str组里第2个字符取到第7个字符
}
for(i=0;iprintf("%c\n",str1[i]); //输出字符
return 0; //函数返回0

}