你用什么编译器编的?我怎么运行结果是P都没有呢?
#include "string.h"
#include "ctype.h"
void fun(char str[])//这里漏了右括号
{int i,j;
for(i=0,j=0; str[i] ;i++)
if(isalpha(str[i]))//isalpha函数判断字符是否为英文字符(包括大小写),你这里第一个字符就是英文字符,自然被赋字符串结束符。结果你这个字符串一开始就是结束,所以啥都输不出。
str[j]='\0';//上面j只赋了0就没在改动,你这应当是i才对吧?
}
main()
{char ss[80]="it is!";
fun(ss);//这里漏了分号,初学者最容易漏这个。
printf("%s\n",ss);
}
i=0的时候,str[i] = i,isalpha 为真,所以执行str[j] = '\0',此时j = 0,所以ss的第一个字符就是\0 了。绝对输出不了itis
isalpha在程序里面起的作用,所以输出这样的结果
答案肯定是空
你的编译器该换换了..分号都不提示..牛X