题是输入一个数,删除字符串前这个数长度的星号
#include <stdio.h>
void fun(char *a, int n)
{
int i = 0, j = 0;
char *p = a;
while (a[i] == '*')
i++;
if (i > n)
{
for (j = i - n; a[j] != '\0'; j++)
*p++ = a[j];
*p = '\0';
}
}
int main(int argc, char *argv[])
{
char s[255];
int n;
scanf("%254[^\n]s", s);
scanf("%d", &n);
fun(s, n);
puts("");
puts(s);
return 0;
}
对比一下
#include <stdio.h>
void fun(char *a, int n)
{
int i = 0, j = 0;
while (*(a + i) == '*')
i++;
if (i > n)
{
int k = i - n;
while (a[j] != '\0')
{
a[j++] = a[k++];
}
}
}
int main()
{
char arr[50];
int t;
printf("请输入字符串:");
gets(arr);
printf("输入一个数:");
scanf("%d", &t);
fun(arr, t);
puts(arr);
return 0;
}
你想实现什么功能?