Wrong Answer
/in/foo.c: In function 'main': /in/foo.c:31:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation] if (c == '\n') ^~ /in/foo.c:33:4: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if' break; ^~~~~ /in/foo.c:27:10: warning: variable 'str' set but not used [-Wunused-but-set-variable] char str[N+1], c; ^~~
代码
#include <stdio.h>
#include <ctype.h>
#define N 100
void
count(char *str)
{
int alpha = 0, num = 0, space = 0, other = 0;
for (char *p=str; *p != '\0'; p++)
{
if (isalpha(*p))
alpha++;
else if (isalnum(*p))
num++;
else if (isspace(*p))
space++;
else
other++;
}
printf("%d\n%d\n%d\n%d\n", alpha, num, space, other);
}
int
main(void)
{
char str[N+1], c;
for (int i=0; i < N; i++)
{
c = getchar();
if (c == '\n')
str[i] = '\0';
break;
str[i] = c;
}
return 0;
}