我想用下面的代碼來讀取一個句子(字符串),然後顯示句子的單詞。它不顯示,因爲它應該。我究竟做錯了什麼?在C中使用字符串數組
#include <stdio.h>
#include <string.h>
#define N 100
int main()
{
char s[N];
char words[N][N];
int i=0;
int j=0;
printf("s=");
gets(s);
while ((i<strlen(s)) && (s[i]!='.'))
{
while (s[i]!= ' ')
{
sprintf(words[j],"%c", s[i]);
i++;
}
j++; i++;
}
for (i=0;i<j;i++) printf("%s ", words[i]);
return 0;
}
通常我們在這些情況下使用調試器...... – pmod
不要讓我們猜測什麼是錯的。描述輸入,預期輸出和實際輸出。 –
'sprintf(words [j],「%c」,s [i])'既不多也不少於'words [j] [0] = s [i];字[j]的[1] = 0'。除了每個單詞的第一個位置,你永遠不會分配任何其他地方。 –