一个简单的C语言问题求解答

题目如下:#include<ctype.h>#include<string.h>voidfun(charstr[]){inti,j;for(i=0,j=0;str[i];... 题目如下:
#include<ctype.h>
#include<string.h>
void fun (char str[])
{ int i,j;
for(i=0,j=0;str[i];i++)
if(isalpha (str[i]))str[j++]=str[i];
str[j]='\0';
}
main()
{ char ss[80]="It is!";
fun(ss);
printf("%s\n",ss);
}
求高手解答下该题目是如何运行得出结果的
展开
 我来答
冷明珠05v
2012-07-23 · TA获得超过1502个赞
知道小有建树答主
回答量:389
采纳率:100%
帮助的人:542万
展开全部
程序输出为:Itis

定义了一个字符串数组ss,其内容为"It is!",调用函数 fun ,传入数组的首地址。
在fun函数内对字符串进行遍历,直到字符串遇到'\0'为止,若是英文字母,则复制到原字符串的第一个位置,然后再遇到英文字母继续复制到第二个位置,以此类推,最后加上结束符'\0'。
打印输出时就会只输出结束符前面的字符串,也就是复制过去的那些英文字母。
ichenqiwei
2012-07-23 · TA获得超过176个赞
知道答主
回答量:64
采纳率:0%
帮助的人:79.7万
展开全部
你的fun()函数没有返回值,
可以改成用指针作参数 void fun(char *str);,或者直接返回字符串 char fun(char str[80]); return一下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mmcainiao
2012-07-23
知道答主
回答量:28
采纳率:0%
帮助的人:14.5万
展开全部
首先,你使用printf()需要添加头文件stdio.h。你这个函数完成的是字符串的复制;输出的结果为:itis
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式