C 如何在数组中存储00?

C 如何在数组中存储00?,c,printf,srand,C,Printf,Srand,我在数组中存储了四个数字,00,11,22,33。当我生成一个随机数并打印它时,它会显示0,而不是00(当选择第一个元素时)。其他数字正常,显示正确。如何将00存储在数组中以使其正确显示 #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { srand(time(NULL)); int myArray[4] = { 00,11,22,33 };

我在数组中存储了四个数字,
00,11,22,33
。当我生成一个随机数并打印它时,它会显示
0
,而不是
00
(当选择第一个元素时)。其他数字正常,显示正确。如何将00存储在数组中以使其正确显示

#include <stdio.h>
#include <stdlib.h>
#include <time.h>  

int main()
{
    srand(time(NULL));
    int myArray[4] = { 00,11,22,33 };
    int randomIndex = rand() % 4;
    int randomIndex1 = rand() % 4;
    int randomIndex2 = rand() % 4;
    int randomIndex3 = rand() % 4;

    int randomValue = myArray[randomIndex];
    int randomValue1 = myArray[randomIndex1];
    int randomValue2 = myArray[randomIndex2];
    int randomValue3 = myArray[randomIndex3];
    printf("= %d\n", randomValue);
    printf("= %d\n", randomValue1);
    printf("= %d\n", randomValue2);
    printf("= %d\n", randomValue3); 

    return(0);
}
#包括
#包括
#包括
int main()
{
srand(时间(空));
int myArray[4]={00,11,22,33};
int randomIndex=rand()%4;
int randomIndex1=rand()%4;
int randomIndex2=rand()%4;
int randomIndex3=rand()%4;
int randomValue=myArray[randomIndex];
int randomValue1=myArray[randomIndex1];
int randomValue2=myArray[randomIndex2];
int randomValue3=myArray[randomIndex3];
printf(“=%d\n”,随机值);
printf(“=%d\n”,randomValue1);
printf(“=%d\n”,随机值2);
printf(“=%d\n”,randomValue3);
返回(0);
}

00
数字与
0
数字完全相同,而
11
显然与
1
不同

考虑存储字符串。或者,如果要显示
00
,请使用
%02d
作为格式字符串,仅显示2个字符:

printf("= %02d\n", randomValue);
如果这真的是整个程序,您甚至可以修改数组,然后打印两次值,例如:

int myArray[4] = {0,1,2,3};
. . .
printf("= %d%d\n", randomValue, randomValue);

%02d
扫描代码将打印带零填充的随机数:

printf("%02d\n", randomValue);
// Expected output for 0: 00
                          ^
                     This 0 belongs to the scan code 
另外,
%2d
扫描代码将为您进行空白填充:

printf("%2d\n", randomValue);
// Expected output for 0:  0
                          ^
                     This space belongs to the scan code
通常,
%(0)NM
是一种扫描代码,其中:

  • 0
    是可选的,它属于数字,如果使用,它将在输出中添加零填充;如果不使用,它将添加空白填充

  • N
    是要打印的位数/字符数,例如
    2

  • M
    是您希望显示数据类型的扫描代码,例如
    {d,x,c,s,…}
    代表
    {number,hexadecimal number,character,string,…}


您可以找到完整的扫描代码列表。

嗯,00等于0。因此程序显示正确。不要对格式和缩进产生幻想。仅嵌套缩进。了解整数和字符串/字符序列之间的区别。