C的程序,麻烦查下原因,告知.解决办法
C的程序,麻烦查下原因,告知..
输入连续的字符串中间包含空格(如afdgg dggg),ENTER后输出afdgg,并且摁下空格,再ERTER后输出dggg,为什么不能连续输出啊??还得再加个空格ENTER呢???求帮助
#include<stdio.h>
#include <string.h>
int main()
{
char ch;
int i=0,j;
char a[10];
printf("请输入:");
ch=' ';
while(ch==' ') //跳过空格
{printf("出现空格\n");
ch=getchar();
while(ch!=' ') //下面的while跳出后,输出连续的字符串
{while(ch!=' ') //得到连续的字符串,遇到空格跳出
{
a[i]=ch;
ch=getchar();
i++;
}
for(j=0;j<i;j++)
printf("%c",a[j]);
printf("\n");
i=0;
}
}
// retrun(0);
printf("运行没问题");
}
------解决方案--------------------
#include <stdio.h>
#include <string.h>
int main()
{
char str[]="afdgg dggg";
int i=0;
while(i<strlen(str))
if(str[i]==' ')
str[i]='\0';
char* p;//这个方便
do{
printf("%s",p);
p+=strlen(p)+1;
}while(*p!='\0');//这个不科学,你自己再想
return 0;
}
输入连续的字符串中间包含空格(如afdgg dggg),ENTER后输出afdgg,并且摁下空格,再ERTER后输出dggg,为什么不能连续输出啊??还得再加个空格ENTER呢???求帮助
#include<stdio.h>
#include <string.h>
int main()
{
char ch;
int i=0,j;
char a[10];
printf("请输入:");
ch=' ';
while(ch==' ') //跳过空格
{printf("出现空格\n");
ch=getchar();
while(ch!=' ') //下面的while跳出后,输出连续的字符串
{while(ch!=' ') //得到连续的字符串,遇到空格跳出
{
a[i]=ch;
ch=getchar();
i++;
}
for(j=0;j<i;j++)
printf("%c",a[j]);
printf("\n");
i=0;
}
}
// retrun(0);
printf("运行没问题");
}
------解决方案--------------------
#include <stdio.h>
#include <string.h>
int main()
{
char str[]="afdgg dggg";
int i=0;
while(i<strlen(str))
if(str[i]==' ')
str[i]='\0';
char* p;//这个方便
do{
printf("%s",p);
p+=strlen(p)+1;
}while(*p!='\0');//这个不科学,你自己再想
return 0;
}