-4
任務是要確保短語是可以反過來或反過來(沒有空間' '
)。垃圾,而不是字符串顯示
所以我明白了這一點,並提出了一些代碼。但是當我製造
printf("%s", str_1)
我發現了很多相同的俄羅斯字母。
比如我輸入的是:'123「321」,但顯示的垃圾
我str_1[i]
將是像123321
,然後檢查第一個和最後等成員。
之後,我添加了如果條件if(str[i] != 'М')
現在一切都很好。
請告訴我我做錯了什麼,以及"M"
是怎麼回事。
我希望我的問題很清楚。
#include "stdio.h"
#include "locale.h"
int main(){
char str[100];
char str_1[100];
int i, j, k, l;
j = 0;
l = 0;
fgets(str, 100, stdin); //we got array
//how many chars before '\0'
for(i = 0; i < 100; i++)
{
if(str[i] != ' ' && str[i] != '\n' && str[i] != 'М')
{
str_1[j] = str[i]; //made new array without spaces between words or whatever
j++;
}
}
j--;
for(k = 0; k < j; k++)
{
if(str_1[k] == str_1[j - 1 - k])
{
l++;
}
}
if(l == k)
{
printf(";) YES! good job!\n");
}
else
{
printf(";) NOT! I'm sorry!\n");
}
return 0;
}
謝謝你,是的,我錯過了這一個,所以現在它的工作原理應該是這樣),我得到了j--在 –
@ wm.p1us之後沒有,你應該省略它,因爲你不復制'\ 0 '字節。 – glglgl