第2和第3個測資點RE
Segmentation fault
第5個測資點WA
我的答案8
正確答案1
/////////////////////////////////////////////////////////////////////////////////////
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
int count(char *buf)
{
int i,sum=0;
char *p=NULL;
p=strtok(buf," \t\n");
for(i=0;p[i]!='\0';i++)
{
if(isalnum(p[i]))
{
sum++;
break;
}
}
while(p=strtok(NULL," \t\n"))
{
for(i=0;p[i]!='\0';i++)
{
if(isalnum(p[i]))
{
sum++;
break;
}
}
}
return sum;
}
int main()
{
int counter=0;
char buf[1024];
memset(buf,'\0',sizeof(buf));
while(fgets(buf,1024,stdin)!=NULL)
{
counter+=count(buf);
memset(buf,'\0',sizeof(buf));
}
printf("%d\n",counter);
return 0;
}
/////////////////////////////////////////////////////////////////////////////////////////
SEGMENTATION FAULT會是因為使用strtok()跑for迴圈的時候超過了嗎??