我试图编写一个程序来反转用户输入并将其打印回他们,以下代码运行良好:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char reverse ( char inp [20] ) {
char rev [20];
int l, i=0, j=0, k=1;
l = strlen( inp );
while ( i<l ) {
rev[j] = inp[l-k];
i++;
j++;
k++;
}
printf("%s n", rev);
return 0;
}
int main () {
char input [20];
fgets( input, 20, stdin );
reverse ( input );
return 0;
}
但我希望程序只打印'.'
之前的所有内容,我尝试使用:
if ( inp[i] == '.') { break; }
在while循环中,在rev[j] =
之前。但它们都返回相同的问题,如果用户输入:
John . Jones
它将打印:
seno
我真的是个新手,但如果有任何帮助,我将不胜感激。
但我希望程序只打印
'.'
之前的所有内容
如果您得到'.'
,那么只需从while
循环中断即可。并用