给定一个字符串和两个字符,我想找出第一个字符在字符串上存在多少次,它首先出现在什么位置,并创建一个新字符串,其中第二个字符每次出现时都会替换第一个字符,但我最后一部分有问题。这是我到目前为止所拥有的:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
main ()
{
char string[10], string1;
char c1, c2;
int contador, i, l, n, contador2;
printf ("Introduza uma string e dois caracteres.\n");
scanf ("%s %c %c", string, &c1, &c2);
l = strlen (string);
contador = 0;
for (n = 0; n < l; n++)
{
if (c1 == string[n])
{
contador = contador + 1;
}
}
for (n = 0; n < l; n++)
{
if (c1 == string[n])
{
contador2 = n + 1; /*Dá-se o valor de n + 1 à variável contador2 porque n começa em 0*/
break;
}
}
string1 = (char) malloc ((l +1)*sizeof(char));
for (n = 0; n < l; n++)
{
if (c1 == string1[n])
{
n = c2;
}
}
printf ("%d\n", contador);
printf ("%d\n", contador2);
printf ("%s", string1);
}
如果您愿意提供任何帮助,我将不胜感激。