solidity智能合约[19]-for循环
发表于:2024-11-27 作者:热门IT资讯网编辑
编辑最后更新 2024年11月27日,forfor 语句为"当型"循环结构。for语句的语法为:123for ( 表达式 1; 表达式 2; 表达式){ 语句}说明:表达式 1为循环变量赋初始值。表达式 2为循环条件。表达式 3为循环变
for
for 语句为"当型"循环结构。
for语句的语法为:
1 2 3
| for ( 表达式 1; 表达式 2; 表达式){ 语句 }
|
说明:
表达式 1为循环变量赋初始值。
表达式 2为循环条件。
表达式 3为循环变量增值。
for循环打印斐波拉耶数列
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| pragma solidity ^0.4.23; contract forTest{
//0,1,1,2,3,5,8,13,21 uint[] public arr=[1,1];
function getArr() public view returns(uint[]){
return arr; }
function fab() public{ for(uint i = 0;i<10;i++){ uint an = arr[arr.length-1]; uint bn = arr[arr.length-2]; uint sum = an+bn; arr.push(sum); } } }
|
二维数组遍历与解释
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| uint[2][3] grade = [[60,80],[40,20],[50,50]]; //获取内容并求和 function add() view public returns(uint){ uint sum = 0; //定义的时候和获取数据的时候有些差别,在获取数据的时候,第一个数字i代表的是i+1元素,第二个数据j代表的是i+1个元素内的第j+1个内容 //1、 i = 0 i<3 //2、j=0 j <2 //3、sum += grade[0][0];、sum += 60; //4、j++---->j=1; //5.j<2? //6.sum+=grade[0][1];sum += 80 //7.j++------j=2; //8.j<2 //9.i++ --->i=1; //10.i<3 //11.j = 0 //12.j<2? //13.sum += grade[1][0] //14.j++ //15......... //最后遍历了grade[0][0],grade[0][1],grade[1][0],grade[1][1],grade[2][0],grade[2][1] for(uint i = 0;i<3;i++){ for(uint j = 0;j<2;j++){ sum+= grade[i][j]; } } return sum; } }
|
本文链接: https://dreamerjonson.com/2018/11/20/solidity-19-for/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 CN协议 许可协议。转载请注明出处!