#include <stdio.h>
/*函数声明部分*/
int count(char *ptrM,char *ptr_str);
int main()
{
char str[80],substr[80]; /*定义一个字符数组*/
printf("请输入需要转换的母串:\n");
gets(str); /*输入字符串*/
printf("请输入需要转换的子串:\n");
gets(substr); /*输入字符串*/
printf("子串在母串中出现了%d次!\n",count(str,substr));
return 0;
}
/*函数定义部分*/
int count(char *ptrM,char *ptr_str)
/* *ptrM: 母串指针 *ptr_str:子串指针 */
{
int i; /* 保存母串匹配相对的位置 */
int num = 0; /* 保存子串在母串中的个数 */
char *ptrS;
while( *ptrM != '\0' )
{
i = 0;
ptrS = ptr_str; /* 使ptrS指向子串首地址 */
while( 1 )
{
if( *ptrS == *(ptrM+i) ) /* 判断相应字符是否相同 */
{ ptrS++; i++; } /* 指针后移*/
else break;
if( *ptrS == '\0') /* 子串结束,找到一个匹配的 */
{ num++; break; }
}
ptrM++;
}
return num; /*返回子串在母串中的个数*/
}
这个程序中的 while( 1 ) 是什么意思?
/*函数声明部分*/
int count(char *ptrM,char *ptr_str);
int main()
{
char str[80],substr[80]; /*定义一个字符数组*/
printf("请输入需要转换的母串:\n");
gets(str); /*输入字符串*/
printf("请输入需要转换的子串:\n");
gets(substr); /*输入字符串*/
printf("子串在母串中出现了%d次!\n",count(str,substr));
return 0;
}
/*函数定义部分*/
int count(char *ptrM,char *ptr_str)
/* *ptrM: 母串指针 *ptr_str:子串指针 */
{
int i; /* 保存母串匹配相对的位置 */
int num = 0; /* 保存子串在母串中的个数 */
char *ptrS;
while( *ptrM != '\0' )
{
i = 0;
ptrS = ptr_str; /* 使ptrS指向子串首地址 */
while( 1 )
{
if( *ptrS == *(ptrM+i) ) /* 判断相应字符是否相同 */
{ ptrS++; i++; } /* 指针后移*/
else break;
if( *ptrS == '\0') /* 子串结束,找到一个匹配的 */
{ num++; break; }
}
ptrM++;
}
return num; /*返回子串在母串中的个数*/
}
这个程序中的 while( 1 ) 是什么意思?