Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
3年前关闭。
所以我这里有一些我一直在研究的代码。它将十进制数字转换为二进制。代码运行平稳,但是困扰我的是变量。代码如下:
我真的发现变量令人困惑。有人可以告诉我变量实际发生了什么吗?特别是带有
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
3年前关闭。
所以我这里有一些我一直在研究的代码。它将十进制数字转换为二进制。代码运行平稳,但是困扰我的是变量。代码如下:
#include <stdio.h>
int main()
{
long int decimalNumber, remainder, quotient;
int binaryNumber[100], i=1, j;
printf("Enter any decimal number: ");
scanf("%ld",&decimalNumber);
quotient = decimalNumber;
while (quotient!=0) {
binaryNumber[i++]= quotient % 2;
quotient = quotient / 2;
}
printf("Equivalent binary value of decimal number %d: ", decimalNumber);
for (j = i -1 ; j> 0; j--)
printf("%d",binaryNumber[j]);
return 0;
}
我真的发现变量令人困惑。有人可以告诉我变量实际发生了什么吗?特别是带有
binaryNumber[100]
,binaryNumber[i++]
,binaryNumber[j]
和表达式binaryNumber[i++] = quotient % 2
的那个 最佳答案
binaryNumber
是ints
的数组,即整数。它的大小为100。它从0 ... 99(binaryNumber[0]
是第一个元素,binaryNumber[99]
是最后一个元素)开始。该数组可以包含100个不同或相等值的整数。实际上,它们的值不必为0 ... 99,而是int
范围内的任何其他值(请阅读注释)。
当您执行int binaryNumber[100]
时,您将定义此数组。
当执行binaryNumber[i++]
时,可以访问此数组的i
位置中的元素,然后递增i
。表示您执行i = i + 1;
。binaryNumber[j]
也是如此。
执行binaryNumber[i++] = quotient % 2
时,如前所述,将quotient % 2
的值分配给binaryNumber
数组在位置i
处(并递增i
)。
如果您想了解模运算符(%
),请阅读here。
关于c - 带参数的变量名,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36079825/
10-12 14:00