我正在尝试为包含使用字符数组的更大的项目编写一个函数。我正在使用的当前函数应该只保存字母字符并删除任何特殊字符(例如:!#@ $?)和空格。我目前的功能工作,但由于某种原因,当我运行它时,数组的第一个字符总是被删除。为什么是这样,我怎样才能保存第一个字符呢?数组函数从数组中删除第一个字符
#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