Nic*_*k K 0 c bit-manipulation bit
我一直收到错误说"使用未声明的标识符'a'".据我所知,我声明'a'等于0所以应该设置它.
int numOfBits(short num)
{
for(int a = 0; num; num >> 1){
a += num & 1;
}
return a;
}
Run Code Online (Sandbox Code Playgroud)
它超出了范围.
int numOfBits(short num)
{
// Requires C99 for loop variable declaration
for(int a = 0; num; num >> 1) { // `a` declared *inside* the
// for loop block scope
a += num & 1;
}
return a; // `a` is no longer in scope
}
Run Code Online (Sandbox Code Playgroud)
只需移出声明:
int numOfBits(short num)
{
int a;
for(a = 0; num; num >> 1) {
a += num & 1;
}
return a;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
226 次 |
| 最近记录: |