C数组问题...(打印和定义)
C array problems... (Printing and defining)
只是编写了一些代码来使用冒泡排序对数组进行排序,但一开始我什至无法定义数组并打印它。
代码:
#include <stdio.h>
int main () {
int test[] = {9,9,9,9,9}; //define array
test[2] = 3;
bool checker = false; //is it sorted?
int i = 0;
for(int i = 0; i<=4; i++) //set random numbers for array
{
int g;
g = 4+i;
test[i] = g;
i++;
}
for (int i = 0; i <= 4; ++i ) //print array as normal
{
printf(", ", test[i]);
}
执行时总是输出:
, , , ,
所以数组是空的?还是我打印错了?还是什么?
你打印错了。
您正在打印的行应显示为 printf("%d, ", test[i]);
也不是您将问题标记为 C++,而是使用了与 C 相关的术语。您的 #include <stdio.h>
应该替换为 #include <iostream>
并且您应该使用 cout
而不是 printf
来输出数据。
您的代码有两个问题。
首先,初始的'for'循环使用'i'作为它的计数器变量,你的递增条件是'i++'。这意味着 'i' 在每次循环迭代中自动递增;但是在循环中,您指定了 'i++',这意味着您将看到 'i' 的值在每次传递时增加 两次 。消除多余的增量。
其次,您打印的数组不正确。您需要添加一个格式限定符,例如 '%d' 以告诉 printf 使用第一个参数来替代该说明符。
最后,您为这段代码指定了 C++,但实际上不是。很经典的C.
只是编写了一些代码来使用冒泡排序对数组进行排序,但一开始我什至无法定义数组并打印它。
代码:
#include <stdio.h>
int main () {
int test[] = {9,9,9,9,9}; //define array
test[2] = 3;
bool checker = false; //is it sorted?
int i = 0;
for(int i = 0; i<=4; i++) //set random numbers for array
{
int g;
g = 4+i;
test[i] = g;
i++;
}
for (int i = 0; i <= 4; ++i ) //print array as normal
{
printf(", ", test[i]);
}
执行时总是输出:
, , , ,
所以数组是空的?还是我打印错了?还是什么?
你打印错了。
您正在打印的行应显示为 printf("%d, ", test[i]);
也不是您将问题标记为 C++,而是使用了与 C 相关的术语。您的 #include <stdio.h>
应该替换为 #include <iostream>
并且您应该使用 cout
而不是 printf
来输出数据。
您的代码有两个问题。
首先,初始的'for'循环使用'i'作为它的计数器变量,你的递增条件是'i++'。这意味着 'i' 在每次循环迭代中自动递增;但是在循环中,您指定了 'i++',这意味着您将看到 'i' 的值在每次传递时增加 两次 。消除多余的增量。
其次,您打印的数组不正确。您需要添加一个格式限定符,例如 '%d' 以告诉 printf 使用第一个参数来替代该说明符。
最后,您为这段代码指定了 C++,但实际上不是。很经典的C.