问题遇到的现象和发生背景
在用while循环输入不确定个数字符串时(要求把字符串里的空格删去),用数组输入时,输出时只输出了第一个元素。
题目:1) 遇到连续空格只输出一个空格字符(即词与词之间如果有多个空格,只用一个空格分隔);
2) 每个词放在一行;
用代码块功能插入代码,请勿粘贴截图
#include<stdio.h>
int main()
{
char a[30];
int count1 = 0,i;
for (i = 0; ; i++)
{
a[i] = getchar();
count1++;
if (getchar() == '\n')break;
}
char* p = a;
for (int i = 0; i < count1 - 1; i++)
{
if(a[i]!=' ')
printf("%c", a[i]);
if (a[i] = ' ')
{
if (a[i + 1] = ' ')
{
for (int j = i + 1; i < count1 - 1; i++)
a[j] = a[j + 1];
}
printf("\n");
}
}
return 0;
}
运行结果及报错内容
输入:dcndvn s
输出:d
我的解答思路和尝试过的方法
采用scanf,getchar,EOF,\n均无用
我想要达到的结果
去掉输入字符串中的空格并输出