如何使用for循环在c中每秒更改数组元素?

如何使用for循环在c中每秒更改数组元素?,c,arrays,for-loop,C,Arrays,For Loop,我使用for循环来创建一个100元素的char数组。在第一次运行时,我希望将其所有值更改为1,在第二次运行时,我希望其每秒钟的值更改为0 char array[ 100 ] = { 0 }; int toggle_swith(char a[]) { for (i = 0; i < 100; i++) { printf(array[i] + "1 "); } } int main( void ) { int i; for (i = 0; i

我使用for循环来创建一个100元素的char数组。在第一次运行时,我希望将其所有值更改为1,在第二次运行时,我希望其每秒钟的值更改为0

char array[ 100 ] = { 0 };

int toggle_swith(char a[]) {
    for (i = 0; i < 100; i++) {
        printf(array[i] + "1 ");
    }
}

int main( void ) {
    int i;
    for (i = 0; i < 100; i++) {
        printf(array[i] + "0 ");
        toggle_switch();
    }
}
char数组[100]={0};
整型切换开关(字符a[]{
对于(i=0;i<100;i++){
printf(数组[i]+“1”);
}
}
内部主(空){
int i;
对于(i=0;i<100;i++){
printf(数组[i]+“0”);
切换_开关();
}
}

打印语句应该如下所示

printf(“%c0”,数组[i])


我建议你查阅初学者C教程以了解更多信息

打印语句应该是这样的

printf(“%c0”,数组[i])


我建议你查阅初学者C教程以了解更多信息

最初,您希望将所有数组元素设置为1 您可以使用
memset

memset(array,1,100)
这将清除所有元素。但是如果你坚持使用循环

#define ARRAY_SIZE 100
char array[ARRAY_SIZE] = {0};

for(int count = 0; count < ARRAY_SIZE; count++)
{
   array[count] = 1;
   //If you want to print it, use:
   printf("%d",array[count]; // You can also use %c
}
#定义数组大小100
字符数组[array_SIZE]={0};
对于(int count=0;count
要使替换元素为0

for(int count = 0; count < ARRAY_SIZE; (count = count + 2)) //Count + 2 will hop every alternate element
{
     array[count] = 0;
}
for(int count=0;count

同样,如果需要,可以添加printf()。

最初,您希望将所有数组元素设置为1 您可以使用
memset

memset(array,1,100)
这将清除所有元素。但是如果你坚持使用循环

#define ARRAY_SIZE 100
char array[ARRAY_SIZE] = {0};

for(int count = 0; count < ARRAY_SIZE; count++)
{
   array[count] = 1;
   //If you want to print it, use:
   printf("%d",array[count]; // You can also use %c
}
#定义数组大小100
字符数组[array_SIZE]={0};
对于(int count=0;count
要使替换元素为0

for(int count = 0; count < ARRAY_SIZE; (count = count + 2)) //Count + 2 will hop every alternate element
{
     array[count] = 0;
}
for(int count=0;count

同样,如果需要,可以添加printf()。

您需要一个初始化数组的函数:

void InitializeArray(char Array[], int Length) {
  int i;
  for (i = 0; i < Length; i++) {
    Array[i] = '1';
  }
}

如果您想学习C,我推荐我从格雷格·佩里(Greg Perry)编写的《C举例》一书。您需要一个初始化数组的函数:

void InitializeArray(char Array[], int Length) {
  int i;
  for (i = 0; i < Length; i++) {
    Array[i] = '1';
  }
}

如果你想学习C语言,我推荐我从格雷格·佩里写的《C语言举例》一书。你可以一次完成

for (i=0; i<100; i++) array[i]=(i%2)+'0';

对于(i=0;i您可以一次完成所有操作

for (i=0; i<100; i++) array[i]=(i%2)+'0';

for(i=0;i
array[i,1-3]
应该是什么?实际上,这些代码与这个问题有什么关系?它们都不可能起作用。我把它改成了它应该是什么样子。我玩了一会儿,还有那些
printf(array[i]+“0”)
行看起来非常错误。请阅读初级C教程,这不是该语言的工作原理。首先阅读此教程,尝试获取==>C编程语言(第二版)-Brian W.Kernighan和Dennis M.Ritchie什么是
数组[i,1-3]
应该是什么?实际上,这些代码和这个问题有什么关系?它们都不可能工作。我把它改成了应该是什么。我玩了一会儿,还有那些
printf(数组[I]+“0”)
行看起来非常错误。请阅读初学者C教程,这不是该语言的工作原理。首先阅读此文,尝试获取==>C编程语言(第二版)-Brian W.Kernighan和Dennis M.Ritchie谢谢,我会查一下。我主要用java编程,所以我对cThanks不太了解,我会查一下。我主要用java编程,所以我对cThanks不太了解,我对C非常感兴趣,我会查所有这些书,看看我更喜欢哪一本。我对java有经验,但C非常感兴趣Ghust a note,这将使数组元素成为“0”和“1”,而不是“0”和“1”。“0”!=0。如果您想要0,请删除引号。谢谢,我对C非常感兴趣,我将查找所有这些书,看看我更喜欢哪一本。我有java方面的经验,但C非常感兴趣只是一个说明,这将使数组元素成为“0”和“1”,而不是“0”和“1”。“0”!=0.如果你想要0,那么删除引号。它不是100%优化的,i%2可能会通过一个合适的编译器优化为i&1,或者你可以转换为一个int数组,一次初始化32/64位…而且我不清楚它应该是01010101还是10101010…所以它可能需要1-i%2+'0',它不是100%优化的,i%2会被删除也许可以通过一个合适的编译器优化到i&1,或者你可以强制转换到一个int数组,一次初始化32/64位…而且我不清楚它应该是01010101还是10101010…所以它可能需要1-i%2+'0'