我有一个类似于此的循环。
int total1, total2;
for (total1 = fsize(myfile);;) {
total2 = fsize(myfile);
...
...
total1 = total2;
}
我想要做的是将其转换为while
循环,并在结束循环之前检查一个额外的条件。
我想做这样的事情:
while((total1 = fsize(myfile)) && input = getch() != 'Q') {
total2 = fsize(myfile);
...
total1 = total2;
}
由于
答案 0 :(得分:0)
也许你的意思是
while((total1 == fsize(myfile)) && ((input = getch()) != 'Q')) {
total2 = fsize(myfile);
...
total1 = total2;
}
请注意那些运算符=是赋值==是比较
答案 1 :(得分:0)
for循环total1=fsize(myfile)
的'initialization'部分已成为while循环中测试条件的一部分。那是你想要的吗?
你确定你不想要这个......
total1 = fsize(myfile);
while((input = getch()) != 'Q') {
total2 = fsize(myfile);
...
total1 = total2;
}
答案 2 :(得分:0)
for循环中的初始化程序仅执行一次。 <{1}}相当于
select
{ [Measures].[Net sales] } on columns,
{ [Time].[Week].MEMBERS } on rows
from [Sales]
where ( except([Time].[Year].MEMBERS, [Time].[Year].&[All]),
{[Department].[Department name].&[WRO], [Department].[Department name].&[KAT]});
是
while
您提到添加条件for (total1 = fsize(myfile);;) {
。
请注意,分配(total1 = fsize(myfile);
while (1) {
)的优先级低于比较(input = getch() != 'Q'
),因此要将=
分配给!=
,并检查该字符不是getch()
{1}}你需要围绕分配的括号:
input
答案 3 :(得分:-1)
您可以使用for:
for(total1 = fsize(myfile); (input = getch()) != 'Q';) {
...
}