c语言单选题

#include<stdio.h>intmain(){charstr[]="tudent",c;intk;for(k=1;(c=str[k])!='\0';k++){sw... #include <stdio.h>
int main()
{
char str[]="tudent",c;
int k;
for(k=1;(c=str[k])!='\0';k++)
{
switch(c)
{
case 't': putchar('#');
case 'n': putchar('$');break;
default:continue;
}
putchar('*');
}
return 0;
}
A.$*#$* B.$#$ C.#$*$*#$* D.#$$#$
求详细解释
展开
 我来答
帐号已注销
2012-12-13 · TA获得超过3000个赞
知道大有可为答主
回答量:1338
采纳率:75%
帮助的人:1236万
展开全部
switch...case的特点是,只要遇到一个case语句匹配,就会挨个执行后面的case语句块,直到遇到break为止。
所以:
k = 1,c = u,执行continue
k = 2,c = d,还执行continue
k = 3,c = e,还执行continue
k = 4,c = n,输出'$',break后退出switch,输出'*'
k = 5, c = t,先输出'#'。因为没有break,所以结果输出'$',然后break,再输出'*'所以选A。
MarsCode
2024-08-19 广告
```c#include int main() { int a, b; printf("请输入两个整数: "); scanf("%d %d", &a, &b); int sum = a + b; printf(... 点击进入详情页
本回答由MarsCode提供
濮方雅BX
2012-12-13 · TA获得超过4040个赞
知道大有可为答主
回答量:2482
采纳率:60%
帮助的人:2383万
展开全部
A
你看case里只有t、n的时候才会输出,k初始从1开始,所以第一个't'(即str[0])会被跳过,一直到'n'的时候,输出一个$
然后到最后一个't'的时候,输出一个#,但注意这个case后面没有跟一个 break语句,所以会接着执行下面的putchar('$');break;所以会再输出一个$
所以结果就是
——————
晕了,刚才漏看了for循环中的一个 *,两次输出之后都有个*。所以楼下是对的,答案是A
追问
谢谢,,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式