一个C语言题目

#include<stdio.h>intmain(){charstr[]="SSSWLIA",c;intk;for(k=2;(c=str[k])!='\0';k++){s... #include<stdio.h>
int main()
{
char str[]="SSSWLIA",c;int k;
for(k=2;(c=str[k])!='\0';k++)
{
switch(c)
{
case 'I':++k;break;
case 'L':continue;
default:putchar(c);continue;
}
putchar('*');
}
return 0;
}
为什么这个程序输出的结果是SW* 请帮我详细解答,在下感激不尽。谢谢
展开
 我来答
phd121212
2013-12-09 · TA获得超过494个赞
知道小有建树答主
回答量:114
采纳率:0%
帮助的人:36.4万
展开全部
#include<stdio.h>
int main()
{
char str[]="SSSWLIA",c;int k;
for(k=2;(c=str[k])!='\0';k++)
{
switch(c)
{
case 'I':++k;break;
case 'L':continue;
default:putchar(c);continue;/*一开始循环一次输出S,接着continue,接着k++,再次输出W,当出现L时,k++,接着当到I时,k+1,跳出switch(),然后,k再加1(是for循环的),此时c=‘\0’,跳出循环了。*/
}
putchar('*');
}
return 0;
}
百度网友722f5ea1e31
2020-04-12 · TA获得超过3809个赞
知道大有可为答主
回答量:3073
采纳率:28%
帮助的人:254万
展开全部
那个意思是引用结构体成员,你看看是不是最后一个输出是++p.b啊,要不结果应该是3啊确认后给你具体解释,谢谢,要不我怕误导你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cdyzxy
推荐于2018-03-07 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:85%
帮助的人:3746万
展开全部
执行顺序:
k=2,c=str[k]=str[2]='S'不是0,开始循环
判断c:不是'I'也不是'L',走default,输出'S',继续循环。至此输出为:S
k++,k=3,c=str[k]=str[3]='W'不是0,继续循环
判断c:不是'I'也不是'L',走default,输出'W',继续循环。至此输出为:SW
k++,k=4,c=str[k]=str[4]='L'不是0,继续循环
判断c:是'L',continue继续循环。至此输出为:SW
k++,k=5,c=str[k]=str[5]='I'不是0,继续循环
判断c:是'I',++k; k=6,break; 跳出switch语句,putchar'*'输出星号,继续循环。至此输出
为:SW*
k++,k=7,c=str[k]=str[7]=‘\0’是0,结束循环。自此输出最终为:SW*
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式