c语言题目,看不懂啊!求解释~

#include<stdio.h>intmain(){chara[]="morning";inti,j=0;for(i=1;i<7;i++)if(a[j]<a[i])j=... #include <stdio.h>
int main()
{ char a[]="morning";
int i,j=0;
for(i=1;i<7;i++)
if(a[j]<a[i]) j=i;
a[j]=a[7];
puts(a);
return 0
}
展开
 我来答
cldd2012
2011-06-28 · TA获得超过498个赞
知道小有建树答主
回答量:564
采纳率:0%
帮助的人:331万
展开全部
注意a[7]为空 ,本题意思就是输出到最大字符,如果改成morniwg或morniww,则输出morni,检验过了,完全正确
sunyzz2
2011-06-28 · TA获得超过126个赞
知道答主
回答量:98
采纳率:0%
帮助的人:67.4万
展开全部
if(a[j]<a[i]) j=i;是比较字母大小的(ASCII码,好像从a到z依次增大的),如果a[j]<a[i],就将i值赋给j,最后输出的应该是gimnnor吧,大致就是这样。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kissofblueice
2011-06-28 · TA获得超过471个赞
知道小有建树答主
回答量:814
采纳率:100%
帮助的人:577万
展开全部
我也不懂。。你这段代码到底有什么意义。。找到最大的字符。。然后把它赋值成结束符。。
到底有神马特殊作用。 最后输出个mo。。。有什么意思
追问
你想雷死我啊~~我怎么知道这什么意思啊!!要知道有意思,我还问你~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8e28a69
2011-06-28 · TA获得超过447个赞
知道小有建树答主
回答量:335
采纳率:0%
帮助的人:412万
展开全部
这个程序很简单啊!程序不难,那就一步一步来,把它搞懂
首先程序是从main()函数开始执行,
第一步:字符串赋值
定义了字符数组a用来存储字符串"morning"
第二步定义整形初值i,j
第三步执行for循环 for循环的含义就是将字符串第一个字符后面的每个
字符与另外一个字符ASCII码值进行比较,而是前者ASCII码值大于后者,就用
前者的ASCII码值更新后者的ASCII码值。直到循环结束
第四步
a[j]=a[7]就是将'\0'赋给a[j]
第五步
puts(a);就是打印新的a字符串(其实就是字符串中从前字符递增的子串)

程序要实现的功能:就是输出字符串中从第一个字符开始递增的子串
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式