关于while(t--)和while(--t)

来源:互联网 发布:淘宝开全球购的店铺 编辑:程序博客网 时间:2024/06/05 15:02

在循环字符串时候经常用到这两个循环结构,我一直没搞明白,今天在循环字符串时候遇到了这个问题就在此写下来做个笔记,希望自己以后能够记住区别,灵活运用,简单的代码写出区别.

int t = 3;while(t--){    cout<<t<<endl;}

输出:
2
1
0

int t = 3;while(--t){    cout<<t<<endl;}

输出:
2
1

总之t=3;while(--t) 会少一次循环,取值会少一次0 的取值,在二进制字符串转换为十进制或者八进制或者十六进制时候用到,这里举个例子二进制字符串转换为十进制.

char* binary = "110011";int binaryToDecimal(int p, int len)//指定位置和长度转换为十进制{    int res = 0;    while(len--)//这里len取值为2,1,0    {           //如果换成--len,取值为2,1,那么后续的pow()就会出错        res += (binary[p] - '0')*pow(2, len);//注意pow()返回类型double        p++;    }    return res;}
0 0
原创粉丝点击