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
} 展开
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
} 展开
4个回答
展开全部
if(a[j]<a[i]) j=i;是比较字母大小的(ASCII码,好像从a到z依次增大的),如果a[j]<a[i],就将i值赋给j,最后输出的应该是gimnnor吧,大致就是这样。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我也不懂。。你这段代码到底有什么意义。。找到最大的字符。。然后把它赋值成结束符。。
到底有神马特殊作用。 最后输出个mo。。。有什么意思
到底有神马特殊作用。 最后输出个mo。。。有什么意思
追问
你想雷死我啊~~我怎么知道这什么意思啊!!要知道有意思,我还问你~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个程序很简单啊!程序不难,那就一步一步来,把它搞懂
首先程序是从main()函数开始执行,
第一步:字符串赋值
定义了字符数组a用来存储字符串"morning"
第二步定义整形初值i,j
第三步执行for循环 for循环的含义就是将字符串第一个字符后面的每个
字符与另外一个字符ASCII码值进行比较,而是前者ASCII码值大于后者,就用
前者的ASCII码值更新后者的ASCII码值。直到循环结束
第四步
a[j]=a[7]就是将'\0'赋给a[j]
第五步
puts(a);就是打印新的a字符串(其实就是字符串中从前字符递增的子串)
程序要实现的功能:就是输出字符串中从第一个字符开始递增的子串
首先程序是从main()函数开始执行,
第一步:字符串赋值
定义了字符数组a用来存储字符串"morning"
第二步定义整形初值i,j
第三步执行for循环 for循环的含义就是将字符串第一个字符后面的每个
字符与另外一个字符ASCII码值进行比较,而是前者ASCII码值大于后者,就用
前者的ASCII码值更新后者的ASCII码值。直到循环结束
第四步
a[j]=a[7]就是将'\0'赋给a[j]
第五步
puts(a);就是打印新的a字符串(其实就是字符串中从前字符递增的子串)
程序要实现的功能:就是输出字符串中从第一个字符开始递增的子串
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询