題目:http://140.135.65.53:10080/problem/0/50104
程式碼:https://ideone.com/kQK3BA
印出來會少最後一串字,而我想是因為換行沒存入,那有沒有其他條件可以使最後一串字印出,請大大們解惑
因為我一開始給錯方向了 所以我決定給個另類的版本
這段程式主要的問題是因為你的運作邏輯是遇到空格或是斷行時就輸出, 讀取的方向是由右至左
所以讀到最後一段字的時候, 因為最後一段字的最左邊沒有空格或斷行讓他觸發輸出, 所以最後一段字不會運作, 這問題用海綿寶寶的方式可以正常解掉, 也就是在所有事情做完之後再把剩的部份再輸出一次
這邊提供另一種方式, 這類問題很常用的技巧, 在你缺的地方預先加上一個分割符號, 在這題來說是空格
前半段的宣告部份改為
int i=1;
a[0]=' ';
while(scanf("%c",&a[i])!=EOF){
後半段初始化改為由一開始
}
printf("\n");
i=1;
}