for循环中的一个小问题
int Count_Digit ( const int N, const int D ){
int cs = 0;
int tmp = N;
for(int i = tmp%10; tmp; tmp = tmp/10)
{
if(i == D) cs++;
}
return cs;
}
我想问的是,在这的函数的for循环中,为什么i的值不会变化,tmp不是随着循环变成tmp/10了吗? for(表达式1;表达式2;表达式3){内语句4}执行顺序是这样的:第一次是表达式1、表达式2、内语句4、表达式3;第二次及后是表达式2、内语句4、表达式3;后续以此类推,直到循环执行完。表达式1只是执行一次。
所以,int i = tmp%10是表达式1,只是一开始执行一次,而后续没有做任何调整,因此不会再有变化。 只初始化一次 行客 发表于 2018-12-30 16:02
for(表达式1;表达式2;表达式3){内语句4}执行顺序是这样的:第一次是表达式1、表达式2、内语句4、表达式3; ...
哦~,糊涂了
页:
[1]