对输入字符串的字符的倒置,在这个程序中,我觉得自己最大的问题是怎么识别一个字符,代码中有t个字符串,每个字符串,每个字符串中有若干个单词,单词之间有空格,所以对于下列的正确答案,我的疑惑是当我键盘输入时,电脑怎么识别带有空格的一行字符

这道题的三个重点:1、系统对于键盘输入的字符串的识别,在下面的正确代码中,当执行while循环,输入字符串,字符串就被存入数组中,那他是怎么识别空格的呢

2、对于每一个单词的字符倒置 3、在输出每一个字符串(单词)的时候时手动输出空格                                                                                         

#include<stdio.h>

int main()

{

int t,f,i,j,k;
char s[1005];
scanf("%d",&t);

while(t--)
{
gets(s);
f=strlen(s);
for(i=0;i<=f;i++)
{
if(s[i]==' '||i==f)
{

for(j=i-1;j!=k&&j>=0;j--)在该代码之前并没有对k进行赋值
putchar(s[j]);
k=i;
if(i!=f)/////////   f是字符串的长度,在前面的if条件中if(s[i]==' '||i==f) 那这句话是在s[i]==' '时才输出空格,那说明在前面的if中就已经识别了空格,不知我这样理解对不对
putchar(' ');
}
}
printf("\n");
}
return 0;
}

 

posted on 2018-04-15 22:55  撒哈拉没有沙  阅读(124)  评论(0编辑  收藏  举报