c语言问题,求详细解释,在线等

【程序说明】输入一行字符,统计并输出其中数字字符、英文字符和其它字符的个数。要求定义并调用函数count(s,digit,letter,other)分类统计字符串s中数字... 【程序说明】 输入一行字符,统计并输出其中数字字符、英文字符和其它字符的个 数。要求定义并调用函数 count(s,digit,letter,other)分类统计字符串 s 中数字 字符、英文字符和其它字符的个数,函数形参 s 是字符指针,形参 digit,letter,other 的类型是整型指针,函数类型是 void.。 运行示例: Enter charaters:f(x,y)=5x+2y-6 Digit=3 Letter=5 Other=6 【程序】 #include<stdio.h>void count(char *s,int *digit,int *letter,int *other) { (9) while( (10) ) {if(*s>='0'&&*s<='9') (*digit)++; else if(*s>='a'&&*s<='z'||*s>='A'&&*s<='Z') (*letter)++; else (*other)++; s++; }
} main() {int i=0,digit,letter,other; char ch,str[80]; printf("Enter charaters:"); ch=getchar(); while( (11) ) {str[i]=ch; i++; ch=getchar(); } str[i]='\0'; ; (12) printf("Digit=%d Letter=%d Other=%d\n",digit,letter,other); } 【供选择的答案】 (9)A.int digit=0,letter=0,other=0; B.int *digit=0,*letter=0,*other=0; C.digit=letter=other=0; D.*digit=*letter=*other=0; // (10)A.*s++!='\0' B.*s++!='\n' C.*s!='\0' D.*s!='\n' // (11)A.ch!= '\0' B.ch!= '\n' C.ch== '\0' D.ch== '\n' // (12)A.count(str,&digit,&letter,&other) B.count(&str,&digit,&letter,&other) C.count(*str,digit,letter,other) D.count(*str,*digit,*letter,*other)
展开
 我来答
百度网友fc2230eec
2012-11-21 · TA获得超过131个赞
知道小有建树答主
回答量:187
采纳率:0%
帮助的人:186万
展开全部
(9)D // 首先要将3个变量置0,AB不选,因为形参表中已经声明了,C不选
// 因为digit=letter=other=0,那么指向的地址改变,不再指向传进来的参数了。
(10)C // 因为下面有s++,所以只能选C和D,又因为str[i]='\0',所以选C。
(11)B // Enter charaters:f(x,y)=5x+2y-6 后面没接0,所以以\n结束输入
(12)A // str是数组名,代表数组首地址,所以不用加" &" ,*str 表示取str[0]的值。所以选A
爱生活的翟先森
2012-11-21 · TA获得超过163个赞
知道答主
回答量:50
采纳率:0%
帮助的人:36.3万
展开全部
兄弟,既然不喜欢C语言的话,大不了就不学,换学其他东西。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
永若灵0j03c0
2012-11-21 · TA获得超过130个赞
知道小有建树答主
回答量:190
采纳率:0%
帮助的人:84.8万
展开全部
自己拿一本c语言看一下指针,函数的调用里关于地址的传递。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式