那位帮我解释一下这个c语言程序,

来源:百度知道 编辑:UC知道 时间:2024/05/09 19:00:49
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <ctype.h>
char xx[50][80];
int maxline=0; /* 文章的总行数 */
int ReadDat(void);
void WriteDat(void);
void StrOL(void)
{
************************************************************
以下的每一行都是什么意思啊
int i,j,m;i代表什么啊,j、m都代表什么啊
char str[80];
for(i=0;i<maxline;i++)
{ m=strlen(xx[i]);
memset(str,0,80);
for(j=m-1;j>=0;j--)
if(!isalpha(xx[i][j]))
{ strcat(str,xx[i]+j+1);
strcat(str," ");
xx[i][j]='\0';
}
strcat(str,xx[i]);
strcpy(xx[i],str);
}
那位高手帮我把以上每行都解释一下啊,多谢多谢了
*****************************************************************
}
void main()
{
if (ReadDat())
{
printf("数据文件IN.DAT不能打开!\n\007");
return;<

int i,j,m;/*i,j都是循环变量,用于控制循环的执行次数,m用于保存xx[][]中保存的字符串的长度*/

char str[80];
for(i=0;i<maxline;i++)
{ m=strlen(xx[i]);/*将从文件读出的第i+1行内容的长度保存到m中*/
memset(str,0,80);/*将str字符数组的所有元素设置为0*/
for(j=m-1;j>=0;j--)
if(!isalpha(xx[i][j]))/*如果xx[i]字符串中的倒数第j个字符不是英文字母,则将这个字符串中第j+1到最后一个字符连接到str数组中*/
{ strcat(str,xx[i]+j+1);
strcat(str," ");/*并在str数组中连接一个空格*/
xx[i][j]='\0';/*之后将xx[i]中的第j个元素设置为字符串结束标志'\0'*/
}
strcat(str,xx[i]);/*将xx[i]中保存的字符串连接到str的后面*/
strcpy(xx[i],str);/*将字符串str复制到xx[i]中,覆盖xx[i]中的原有内容*/
}

上面已经解释得很清楚了~~~不再多说了。