for(i=0;i<b-1;i++)ihosts for mac(j=0;j<b-1-i;j++)在这道题中如何理解

C语言 关于for(i=n-1;i&=0;i--)这个以及以下的这些是什么意思?_百度知道
C语言 关于for(i=n-1;i&=0;i--)这个以及以下的这些是什么意思?
for(i=n-1;i&=0;i--)
b[j]=a[i];
我有更好的答案
这段程序说明:数组a有n个元素,数组b也是;数组a中存放了n个数据;程序前面需要将变量j赋初值0;程序作用是将a中的数据按照倒序存放到数组b中,即b[0]=a[n-1]; b[1]=a[n-2]; ...; b[n-1]=a[0];
采纳率:83%
来自团队:
循环初始条件i赋值为n-1,终止条件为i大于等于0,步长为i--,就是每次i从n-1减少1,直到0&循环体(括号里面两行,每次循环都执行):将a数组位置 i 里面的元素放到b数组对应位置 j 空间,再 j+1&这个大概是数组里面数的复制之类的函数吧
这个与for(i=0;i&n-1;i++)类似,不同的是这个是从0到n-2开始循环,你那个是从n-2到0循环 for(i=n-1;i&=0;i--)
b[j]=a[i];
j++; }这个可以是把数据a复制给b,可以用来排序
总的意思是将数组a从下标n-1到0的各个单元的内容复制到数组b从某个单元开始的n个单元中.第一行:设置控制变量i,使其从n-1开始,每循环一次减1,直至0第二行:循环体的开始第三行:对每次循环,将a[i]的值赋给b[j]第四行:对变量j自加1,以指向b的下一个单元第五行:循环体的结束
就是讲数组a的值逐个赋值个数组b
i从n-1循环递减到0 将数组a反序传给数组b 总的来说 就是把数组a的顺序反过来
其他4条回答
为您推荐:
其他类似问题
c语言的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。for(int i=0;i&n-1;i++) for(int j=i+1;j&=n;j++) s; 执行上面程序段时,s语句的执行次数怎么求?_百度知道
for(int i=0;i&n-1;i++) for(int j=i+1;j&=n;j++) s; 执行上面程序段时,s语句的执行次数怎么求?
数据结构该怎么学习啊?!
A.n(n-1)/2
B.n平方/2C.n(n+1)/2D.n选哪个?
我有更好的答案
第一个for语句执行i=0时
第二个for语句要执行n-1
然后再回到第一个语句
。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
i=n-2。。。。。。。
i=n-1。。。。。。。。。结束
采纳率:16%
哇,一楼的都还不详细,那再给你详细点的。for(int i=0;i&startString.Length-1;i++)
//首先执行int i=0; 然后判断i&startString.Length-1;是否成立,startString.Length反回字符串startString的长度。若条件成立,则执行循环体,否则跳出循环。执行循环体之后再执行i++,接着再执行i&startString.Length-1的判断。
if((startString[i]==')')&&(startString[i+1]=='-'))
//若startString字符串中第i+1位(字符串的第1位用0表示)是')'符号,并且第i+2位是'-'符号,则执行if后的语句。
startString=startString.Insert(i+1,&0&);
//if条件成立,则在字符串变量startString的i+1位置插入一个字符0
startString=startString.Insert(startString.Length,&)&); //循环结束后,在字符串变量startString是最后一位插入符号')&
给我个答案吧?看不懂了!数据结构真难学啊......
参考资料:
1条折叠回答
为您推荐:
其他类似问题
程序段的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。int j=0; for(int i=0;i&100;i++){ j=j++; } 最后为什么输出0_百度知道
int j=0; for(int i=0;i&100;i++){ j=j++; } 最后为什么输出0
我有更好的答案求助知道网友
我用visio编译输出不是零。你是不是那里写不对。而且你这代码最好不要这么写,可读性太差。
void main(){你的代码放这printf(&%d\n&,j);}
这里没有输出,输出在哪里????
问题出在j=j++这一句,首先说一下a++与++a运算符区别,a++,这个表达式的作用是先返回a的值,再将a++而++a,这个表达式的作用是先将a++,在返回a的值,也就是说 a=0;b=a++;执行这两句后,b=a的值(0),在将a++,即a的值为1,b的值为0a=0;b=++a;执行这两句后,先将a++,再b=a的值(1),即a的值为1,b的值也为1 通常,可以这样记a++,a在前面,所以先返回是原来a的值,在做+法。++a,++在前面,所以先做加法,在返回值是原来a的值+1.==================================================那么j=0;j=j++;最终的结果是j=0;
j = 0;j = j++;
==&先执行j++;j=1,但该表达式返回值为0
在执行赋值:j=j++,因为j++表达式的返回值为0,所以执行完后j=0;最终不管循环多少次,j始终为0.把for一句改为:for(i=0;i&100;i++){ j=++j; } ,你可能能得到你想要的结果。
本回答被提问者和网友采纳
1条折叠回答
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。for(unsigned j=0;j&=strlen(b)-1;j++)a[i++-1]=b[j];//谁能把这个循环换成while();这样的格式
[问题点数:1分,结帖人dmt9697]
本版专家分:121
CSDN今日推荐
本版专家分:239
本版专家分:121
本版专家分:85
本版专家分:85
本版专家分:121
本版专家分:1167
本版专家分:1167
本版专家分:239
本版专家分:1167
本版专家分:1167
本版专家分:78
本版专家分:85
本版专家分:1167
本版专家分:5
本版专家分:0
本版专家分:0
本版专家分:239
本版专家分:52
本版专家分:5398
本版专家分:121
本版专家分:5398
本版专家分:121
本版专家分:121
匿名用户不能发表回复!|for(i=0;i&k;i++) for(j=0;j&k;j++) n[j]=n[i]+1; printf(&%d\n&,n[1]); 为什么结果是3_百度知道
for(i=0;i&k;i++) for(j=0;j&k;j++) n[j]=n[i]+1; printf(&%d\n&,n[1]); 为什么结果是3
#include &stdio.h&void main(){int n[3],i,j,k;for(i=0;i&3;i++) n[i]=0; k=2;for(i=0;i&k;i++)
for(j=0;j&k;j++) n[j]=n[i]+1; printf(&%d\n&,n[1]);}为什么结果是3,请高手帮我分析下
我有更好的答案
一步一步来首先一开始 n[1]=0;然后开始二重循环i=0时
n[0] =n[0]+1 =1
j=1 n[1]=n[0]+1 =2i=1时
n[0] = n[1]+1=3
j=1 n[1]=n[1]+1 = 2+1=3所以 结果n【1】=3了
采纳率:59%
for(i = 0;i &i++)
for(j = 0;j &j++)
n[j] = n[i] + 1;可以具体去分析,因为K值比较小,我们可以直接带入。共有4种情况:1、i = 0,j = 0:n[0] = n[0] +1 = 1;2、i = 0,j = 1:n[1] = n[0] + 1 = 2;//第一种情况的时候已经将n[0]重新赋值了!此时n[0]为第一步得到的。3、i = 1,j = 0:n[0] = n[1] + 1 = 3;4、i = 1,j = 0:n[1] = n[1] + 1 = 3;//第三第四的n[1]则为第二步得到的,值为2.最后一次循环将n[1] 重新赋值为2+1.所以最后结果为3!
首先是初始化n[0] = n[1] = n[2] = 0;然后进入二重循环,一步一步计算:i=0时, n[0] = n[1] = n[2] = n[0]+1=1;i=1时,n[0] = n[1] = n[2] = n[1]+1=2;i=2时,n[0] = n[1] = n[2] = n[2]+1=3;所以n[1]的值为3.
为您推荐:
其他类似问题
printf的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 for i in 的文章

 

随机推荐