问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

c语言 for 的用法

发布网友 发布时间:2022-05-31 18:34

我来回答

3个回答

热心网友 时间:2022-06-01 04:12

for(k=i=0;s[i];i++)
{ for(j=i-1;j>=0;j--)
if(s[i]==s[j]) break;
if(j<0) t[k++]=s[i];
}
第一次 i=0
s[i]是外层判断条件,只要s没结束就不是\n,就符合条件循环下去。
j=-1,但不满足j>=0条件,
所以不执行if(s[i]==s[j]) break;
执行if(j<0) t[k++]=s[i];其实质是t[0]=s[0],k++;就是将s第一个字符赋给了t第一个字符。

.
.
.

i=N 时
j=N-1,满足j>=0,执行if(s[i]==s[j]) break;这句是在判断当前s第N+1个字符s[i]是否与s之前的字符相同,

如果相同就直接跳出for循环,如果不同j--,执行if(s[i]==s[j]) break;判断 s[i]==s[j] 继续向前查找是否有与s[i]相同的字符。一旦找到也跳出。

这里就有两种情况:

第一种,该字符在之前已出现过,那么在
for(j=i-1;j>=0;j--)
if(s[i]==s[j]) break;
中通过遍历,总是能找到与之相同的字符也就跳出了,此时j值定满足j>=0,那么跳出后,由于j>=0,if(j<0) t[k++]=s[i];这句就无效了,意思就是,重复的字符不会记录在t中了。

第二种,该字符s[i]没有在之前出现过,那么在
for(j=i-1;j>=0;j--)
if(s[i]==s[j]) break;

中通过遍历,肯定找不到,这个循环会从j=N-1开始通过j--循环到j=-1,不满足j>=0条件而退出此for循环。

此后执行if(j<0) t[k++]=s[i];此时j=-1,满足条件,t[k++]=s[i];就是将该新出现的字符s[i]赋给t[k],同时k++,准备接受下一个从未出现的字符。

热心网友 时间:2022-06-01 05:30

#include "stdio.h"
main()
{
char s[81];
int hash[256]={0};
int i,j,k;
gets(s);
for(i=0;s[i];++i)
{
if(!hash[int(s[i])])
{
hash[int(s[i])]=1;
putchar(s[i]);
}
}
printf("\n");
}

热心网友 时间:2022-06-01 07:05

for(k=i=0;s[i];i++)表示k和i初始值为0的时候开始循环,循环内部代码执行完的时候i的值加1
for(j=i-1;j>=0;j--)你说的没错,所以i=0的时候这个循环执行0次,那为什么不直接从i=1开始呢?是为了给k赋初始值0,这样的代码很简洁。
t[k++]=s[i];在给t[]数组赋值的时候也在让k加1,这样就可以给每个t[]数组的成员赋值了,至于能赋值多少得看你那上边的break什么时候执行了,懂了吗?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
"应交税费-应交增值税"账本中应该怎么设置明细科目 本届奥运会女排冠军是哪个 女子排球冠军是哪个国家 巴黎奥运会女排冠军是哪国 奥运女排冠军是哪个国家 奥运会女排冠军是哪国 2024年奥运会女排冠军 电磁炉玻璃面板换下多少钱一个 电磁炉换个面板要多少钱一个 电磁炉面板要换多少钱 广州车展:路虎揽胜SVA耀夜运动版亮相 皈依有什么好处? 搭V8引擎,为拳击冠军打造,路虎揽胜SVAutobiography特别版官图 斋戒对于每个回族是义务吗? 路虎揽胜sv售价在中国价格 路虎发布揽胜SVAutobiography特别版官图 全球就一台,这辆特别版路虎揽胜终于交车!车主是“重量级拳王” 衣服上的动物油怎么去除 路虎揽胜SV限量特别版怎么样? 如何去掉衣服上动物油 2021广州车展:路虎揽胜SVA典藏版上市 售255.80-327.80万元 起售价132.9万元 路虎揽胜SV特别版开售 伊斯兰的斋戒 路虎·揽胜SVA 尽显奢华风范 衣服粘上动物油有什么方法去掉而不退布色 基于长轴距版打造 全新路虎揽胜SV发布 路虎揽胜SV黄金版官图 限量发售5台 衣服上沾有动物油时怎样去除 银行卡坏了,在银行预留的手机号丢了,本人又不在,怎么查余额,急等 知道身份证号怎么知道号 路虎揽胜星脉SVA高性能版实车 5.0T V8发动机+四出排气 QQ怎么看好友多久没上 最新款路虎揽胜5.0 SC V8 50周年SV典藏版 如何查看QQ好友多长时间没有登录? 我想看QQ好友多久没上线怎么查...............急急急 c语言 for格式 KTV名字大全 粉苹果跟脆苹果哪个营养价值高? 面苹果和脆苹果哪个营养大 生物柴油的用途和可行性 生产生物柴油,利润如何?在求生物柴油办厂可行性报告 请问生物柴油的用途和可行性? 生产生物柴油企业需要办哪些证件? 请问脆的苹果和面的苹果那种营养价值高哪? 面苹果和脆苹果哪个有营养 请问这个公司是否真实,在国家有关单位有没有注册信息,是不是合法公司。 沙沙的苹果和脆脆的苹果,除了口感,营养有什么不一样吗? 绵苹果和脆苹果哪个营养价值高? 面苹果和脆苹果哪个更有营养? 粉苹果与脆苹果哪种营养好