我正在嘗試爲包含使用字符數組的更大的項目編寫一個函數。我正在使用的當前函數應該只保存字母字符並刪除任何特殊字符(例如:!#@ $?)和空格。我目前的功能工作,但由於某種原因,當我運行它時,數組的第一個字符總是被刪除。爲什麼是這樣,我怎樣才能保存第一個字符呢?數組函數從數組中刪除第一個字符
#include <stdio.h>
int main(void)
{
char phrase[101];
printf("Enter a phrase to change:");
fgets(phrase, 101, stdin);
printf("original phrase: %s", phrase);
int i = 0, j = 0;
while(phrase[i] != '\0')
{
if(('A' <= phrase[i] && phrase[i] >= 'Z') ||
('a' <= phrase[i] && phrase[i] >= 'z'))
{
phrase[j] = phrase[i];
i++;
j++;
}
else
i++;
phrase[j] = '\0';
}
printf("new phrase: %s\n", phrase);
return 0;
}
你把它釘在頭上,簡單修復,謝謝!:) – Ryan 2012-02-27 17:53:58