代码中有错误,是编译不了吧
如果按照你这个思路,参考如下的修订的代码
include
include
include
int max(char a[]) {
int i, j, lastWordStart;
char t[100];
j = 0;
lastWordStart = 0;
for (i = 0; i <= strlen(a); i++) {
//if (((a[i] >= 'a') && (a[i] <= 'z')) || ((a[i] >= 'A') && (a[i] <= 'Z'))) {
if (isalpha(a[i])) {
j += 1;
}
//if ( (0==a[i]) || (' ' == a[i]) || ('.'==a[i] ) || ',' == a[i] || ispunct(a[i])) {
if ((0 == a[i]) || isspace(a[i]) || ispunct(a[i])) {
if (j > lastWordStart) {
lastWordStart = j;
int n = 0;
for (n = 0; n < lastWordStart; n++) {
t[n] = a[i - lastWordStart + n];
}
t[n] = 0;
}
j = 0;
}
}
// for (i = 0; t[i] != '\0'; i++) {
// printf("%c\n", t[i]);
// }
printf("%s\n", t);
return 0;
}
int main() {
char b[100] = {0};
gets((char *) b);
max(b);
return 0;
}