一道C的题,不会做,麻烦各位看一下。
#include<stdio.h>
#include<string.h>
#include<ctype.h>
void
fun(char str[])
{
int t, j;
for(i=0,j=0;str[i];i++)
这个地方还是增强点代码的可读性的好
搞那么多挤一起有毛病
判定语句
str[i]
搞成
str[i]!='\0'
if (isalpha(str[i]))
str[j++]=str[i];
有个建议 少用 j++
++j 什么的
不同的机器处理方式不同 这个是以前谭老师书上说的
但是C语言程序设计 里 说
a=++j 的结果是a=j+1
a=j++
的结果是a=j 我在机器上测试过 后者是对的
='\0';
-------->这个地方换成a[j++]='\0'
}
main()
{
char ss[80] ="It is!";
fun(ss);
printf("%s\n",ss);
}
问一下各位这个程序错在哪里,最后结果是多少?
最后结果死循环一个
尼玛isalpha() 这个函数就是为了检查是不是英文字母
有必要 么
最后评价 这个完全是某某考试的题目,对于出这样题目的老师 我敢说他就是个白痴,傻B
一个不常用的函数 一个可以随便实现的破函数,拿出来显摆,for()循环语句完全不考虑代码的易读性