dkfr.net
当前位置:首页 >> C++ 初学者问For (int i=0,k=%1;k=1;i++,k++)... >>

C++ 初学者问For (int i=0,k=%1;k=1;i++,k++)...

k=1 是赋值不是判断

从结合律来看,这个判断式可以等效为(++i)||(--j&&++k) 所以只要有一个是真则判断式为真, 对于第一个++i,i从0增加到1后做判断,为真,所以结果是真。 另外,就是对每一个都做了变动,所以j是0, k=3

逗号表达式是从左到右计算的。

第一题 因为i=k-1 所以每一次的i值都由上一循环的k来决定。只看k值,第一次循环完后k=13 第二次后k=10,第三次7,第四次4然后break了,此时再来看i,上一轮的k=7,i=k-1=6 故最后答案i=6,k=4

while(i=k-1)就是先计算k-1的值,把它赋值给i,若值不为0,就执行循环体。 程序运行后,会输出: i=6,k=4

楼上的,效果是不一样的

分开看三个括号 括号1. 取k的第i位 - 是否为0,不为0则为真,为0则假 括号2. sum数组第i个字节小于0为真,否则为假 括号3. v数组的第k-(1

当 i == 11时,正好退出这个for循环(i

C业界不成文规定,一个有返回值的函数,如果函数执行成功返回0,不成功返回非0,一般情况下非0值常用-1来表示。你查看一下各个应用函数的文档就会发现这个特点。 调用者可以根据返回值来判定函数是否执行成功,来决定是否继续后续的操作。

#include using namespace std; int main() { int n; //存储n的值 double s=0; //存储结果 int i=1; //用来计数 cout > n; while(i

网站首页 | 网站地图
All rights reserved Powered by www.dkfr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com