代码出现问题
void qukongge(char arr[])
{
int i = 0, j = 0;
while (arr[i])
{
if (arr[i] = ' ')
{
j = i;
while (arr[j + 1])
{
arr[j] = arr[j + 1];
j++;
printf("%s\n", arr);
}
arr[j] = 0;
}
i++;
}
printf("i = %d, j = %d\n", i, j);
}
int main()
{
char arr[] = "h e ll o w o r ld";
printf("arr = %s\n", arr);
qukongge(arr);
printf("arr = %s\n", arr);
return 0;
}
arr = h e ll o w o r ld
e ll o w o r ldd
ll o w o r ldd
ll o w o r ldd
l o w o r ldd
l o w o r ldd
l w o r ldd
l w o r ldd
l o r ldd
l o r ldd
l or ldd
l orldd
l orl
i = 12, j = 11
arr = l orl
不知道为什么会这样
解决这个问题
iif里面应该写两个等于,一个等于是赋值
void qukongge2(char *arr)
{
int j=0;
int n=strlen(arr)+1;
char p[n];
int l=0;
while(j<n)
{
if(arr[j]!=' ')
{
p[l]=arr[j];
l++;
}
j++;
}
j=0;
while(j<n)
{
arr[j]=p[j];
j++;
}
printf("\n");
}
#include <stdio.h>
#include <string.h>
void qukongge(char arr[])
{
for (int j = 1; j <= strlen(arr); j++) //最多就字符串长度的空格 ,做就循环这么多次
{
int i = 1;
while (arr[i])
{
if (arr[i] != ' ' && arr[i - 1] == ' ') //字符前面有空格就换一下
{
arr[i - 1] = arr[i];
arr[i] = ' ';
}
i++;
}
}
}
int main()
{
char arr[] = "h e ll o w o r ld";
printf("arr = %s\n", arr);
qukongge(arr);
printf("arr = %s\n", arr);
return 0;
}