Widget _ = ListView.builder(
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text("Row $index"),
trailing: (data[position]['value'] == 0)
? IconButton(icon: Icon(Icons.alarm), onPressed: () {})
: null);
});
为什么此代码不起作用?该程序必须对两个模具生成的所有随机数求和,然后打印出总和的出现。为什么不起作用?输出是这样的:
#include <stdio.h>
#include <stdlib.h>
#define SIZE 13
int main(){
int die1, die2, sum, i, occurrences[SIZE], j=2;
for(i=0; i<36000; i++){
die1=1+rand()%6;
die2=1+rand()%6;
sum=die1+die2;
++occurrences[sum];
}
printf("%10s","Sums");
for(i=1; i<=12; i++){
printf("%4d", i);
}
printf("\n%10s","Occurrences");
for(i=2; i<=12; i++){
("%4d",occurrences[i]);
}
return 0;
}
答案 0 :(得分:0)
occurrences[SIZE]
尚未初始化,并且具有不确定的值,因此加法++occurrences[sum];
将调用未定义的行为。您应该像occurrences[SIZE] = {0}
一样对其进行初始化。("%4d",occurrences[i]);
行只是使用逗号运算符的表达式,并用括号括起来,因此不会进行打印。似乎应该在括号之前添加printf
。