Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 正在尝试使用'';在循环期间终止_C_Macos_While Loop_Textedit - Fatal编程技术网

C 正在尝试使用'';在循环期间终止

C 正在尝试使用'';在循环期间终止,c,macos,while-loop,textedit,C,Macos,While Loop,Textedit,我尝试编写一个程序来反转用户输入并将其打印回它们,以下代码工作正常: #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 ) { re

我尝试编写一个程序来反转用户输入并将其打印回它们,以下代码工作正常:

#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; 

}
在while循环中,在
rev[j]=
之前。但它们都返回相同的问题,如果用户输入:

John . Jones 
它将打印:

seno 
我真的是个新手,但是任何帮助都将不胜感激

但是我希望程序只打印
之前的所有内容。

如果您得到了
,那么只需从
while
循环中断即可。并用
\0
终止字符数组


输出:

John . Johnes
senhoJ

如果(inp[i-1]='.'){break;}
您能指定您的防干扰输出吗?它是
nhoJ
还是
senoJ
?谢谢Rizier123!我觉得这件事简单得可笑。
John . Johnes
senhoJ