编程实现从键盘输入一个字符ch和一个字符串str,利用字符指针实现删除字符串str中和字符ch相等所有字符,然
编程实现从键盘输入一个字符ch和一个字符串str,利用字符指针实现删除字符串str中和字符ch相等所有字符,然后输出字符串str。运行程序并写出2组以上程序运行结果。...
编程实现从键盘输入一个字符ch和一个字符串str,利用字符指针实现删除字符串str中和字符ch相等所有字符,然后输出字符串str。运行程序并写出2组以上程序运行结果。
展开
1个回答
展开全部
/* 编程实现从键盘输入一个字符ch和一个字符串str,利用字符指针实现删除字符串str中和字符ch相等所有字符,然后输出字符串str */
/* 假定输入为两行,第一行为待删除的字符,第二行为字符串,输出为一行,为删除指定字符后的字符串 */
#include <stdio.h>
#include <string.h>
char *strdelchr(char *str, int ch)
{
if (str != NULL)
{
char *p = str;
size_t len = strlen(p);
while (*p != '\0')
{
if (*p == ch)
{
memcpy(p, p + 1, len - (p - str));
continue;
}
p++;
}
}
return str;
}
int main()
{
char ch = 0;
char str[64] = {0};
scanf("%c", &ch);
scanf("%s", str);
printf("%s\n", strdelchr(str, ch));
return 0;
}
/* 运行结果 */
/* 第一组 */
/* 1
123123111231
232323
*/
/* 第二组 */
/* c
cccccasdcasdcaccascdcaca12caasc
asdasdaasdaa12aas
*/
/* 假定输入为两行,第一行为待删除的字符,第二行为字符串,输出为一行,为删除指定字符后的字符串 */
#include <stdio.h>
#include <string.h>
char *strdelchr(char *str, int ch)
{
if (str != NULL)
{
char *p = str;
size_t len = strlen(p);
while (*p != '\0')
{
if (*p == ch)
{
memcpy(p, p + 1, len - (p - str));
continue;
}
p++;
}
}
return str;
}
int main()
{
char ch = 0;
char str[64] = {0};
scanf("%c", &ch);
scanf("%s", str);
printf("%s\n", strdelchr(str, ch));
return 0;
}
/* 运行结果 */
/* 第一组 */
/* 1
123123111231
232323
*/
/* 第二组 */
/* c
cccccasdcasdcaccascdcaca12caasc
asdasdaasdaa12aas
*/
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询