0
我試圖寫一個程序來扭轉用戶輸入並打印回給他們,下面的代碼工作正常:嘗試使用'。'終止while循環
#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
我真的很新的這一點,但任何幫助將不勝感激。
'如果( '' INP [I-1] ==){打破; ''? – Rizier123 2014-11-08 15:18:22
你能指定你的預期輸出嗎?它是'nhoJ'還是'senoJ'? – Nemesis 2014-11-08 15:20:20
感謝Rizier123!認爲這簡直是荒謬的事情。 – 2014-11-08 15:26:34