删除全部星号 思路就是如果不是星号 那么就可以存下来
#include<stdio.h>
#include<string.h>
int main()
{
void fun(char s[]);
char s[100];
gets(s);
fun(s);
puts(s);
}
void fun(char s[])
{
int j = 0;
for(int i=0;i<strlen(s); i++)
if (s[i] != '*') {
s[j] = s[i]; j++;
}
s[j] = '\0';
}
只保留前面星号 思路就是 先把前面星号判断过去 然后再对后面进行判断
#include<stdio.h>
#include<string.h>
int main()
{
void fun(char s[]);
char s[100];
gets(s);
fun(s);
puts(s);
}
void fun(char s[])
{
int i = 0, j,k;
for (; i < strlen(s); i++)
if (s[i] != '*')
break;
j = i;
k = i;
for (; j < strlen(s); j++)
if (s[j] != '*') {
s[k] = s[j]; k++;
}
s[k] = '\0';
}
删除前面星号 前面管完以后 把后面的都放到前面 注意空字符的用法
#include<stdio.h>
#include<string.h>
int main()
{
void fun(char s[]);
char s[100];
gets(s);
fun(s);
puts(s);
}
void fun(char s[])
{
int k,l,d;
l = strlen(s);
for (int i = 0; i < l; i++)
if (s[i] != '*') {
k = i; break;
}
d = k;
for (int i = 0; i < l; i++, k++)
s[i] = s[k];
s[l - d] = '\0';
}
只删除后面星号 注意好空字符的用法
#include<stdio.h>
#include<string.h>
int main()
{
void fun(char s[]);
char s[100];
gets(s);
fun(s);
puts(s);
}
void fun(char s[])
{
for(int i=strlen(s)-1;i>=0;i--)
if (s[i] != '*') {
s[i + 1] = '\0';
break;
}
}