c语言中使用指针编写void del_c()函数,之后删除指定字符,哪里有错误???
发布网友
发布时间:2022-04-23 00:22
我来回答
共2个回答
热心网友
时间:2023-10-09 06:16
/* 程序功能:删除字符串中的字符 c */
#include <stdio.h>
#include <string.h>
#define MAX 20 /* 宏定义,可根据需要自己自行修改 */
void del_c( char p[ ] ) /* 删除指定字符子函数 */
{
int i = 0 ;
char * s, tmp_str[MAX] ; /* 定义一个字符指针 s,以及用于存放临时字符串的变量 tmp_str */
memset(tmp_str, 0, MAX ) ; /* 将临时字符串变量清零 */
s=&p[0] ; /* 指针变量 s 指向字符串变量 p 的首地址 */
for( ; ( * s ) != '\0' ; s ++ ) /* 判断是否已到字符串结尾 */
if( (* s) != 'c' )
{ /* 如果当前字符不是字符 'c',则将当前字符保存到临时变量 tmp_str 中 */
tmp_str[i] = (* s) ;
i ++ ; /* 数组下标增加 1 */
}
else /* 若当前字符是字符 'c',则继续 */
continue ;
strcpy( p, tmp_str ) ; /* 整个循环结束后,将 tmp_str 的值复制到数组 p 中 */
}
int main( void )
{
char a[MAX] ;
gets( a ) ;
del_c( a ) ;
puts( a ) ;
return 0 ;
}
热心网友
时间:2023-10-09 06:17
for循环里应该是==和;吧