C数组问题。。。(打印和定义)

C数组问题。。。(打印和定义),c,arrays,printf,C,Arrays,Printf,只是编写一些代码来使用冒泡排序对数组进行排序,但在一开始我甚至无法定义数组并打印它 代码: 那么数组是空的?还是我打印错了?还是什么?你打印错了 正在打印的行应为printf(“%d”,test[i]) 也不是你把问题标记为C++,而是使用C相关术语。您的#include应替换为#include,并且您应该使用cout而不是printf来输出数据。您打印错误 正在打印的行应为printf(“%d”,test[i]) 也不是你把问题标记为C++,而是使用C相关术语。您的#include应该替换为#

只是编写一些代码来使用冒泡排序对数组进行排序,但在一开始我甚至无法定义数组并打印它

代码:


那么数组是空的?还是我打印错了?还是什么?

你打印错了

正在打印的行应为
printf(“%d”,test[i])


<>也不是你把问题标记为C++,而是使用C相关术语。您的
#include
应替换为
#include
,并且您应该使用
cout
而不是
printf
来输出数据。

您打印错误

正在打印的行应为
printf(“%d”,test[i])


<>也不是你把问题标记为C++,而是使用C相关术语。您的
#include
应该替换为
#include
,您应该使用
cout
而不是
printf
来输出数据。

您的代码中有两个问题

首先,初始“for”循环使用“i”作为其计数器变量,您的递增条件是“i++”。这意味着“i”在每次循环迭代中自动递增;然而,在循环中,您指定了“i++”,这意味着您将看到“i”的值在每次传递中被碰撞两次。消除额外的增量

其次,您打印的阵列不正确。您需要添加一个格式限定符,如“%d”,以告诉printf使用第一个参数替换该说明符


<>最后,你已经为这个代码指明了C++,但实际上不是。这是经典的C语言。

代码中有两个问题

首先,初始“for”循环使用“i”作为其计数器变量,您的递增条件是“i++”。这意味着“i”在每次循环迭代中自动递增;然而,在循环中,您指定了“i++”,这意味着您将看到“i”的值在每次传递中被碰撞两次。消除额外的增量

其次,您打印的阵列不正确。您需要添加一个格式限定符,如“%d”,以告诉printf使用第一个参数替换该说明符


<>最后,你已经为这个代码指明了C++,但实际上不是。它是经典的C.< /P>作为一个旁路,C++中使用C标准库设施是完全好的(有时C库是优越的,或者至少在一个方面优于国际化)。即使代码是用C风格编写的,如果它被编译成C++,它就是C++。但我刚才提到过,因为我觉得OP可能不知道这一点。作为一个例外,使用C++中的C标准库设施是非常好的(有时C库是优越的,或者至少在一个方面优于国际化)。即使代码是用C风格编写的,如果它被编译成C++,它就是C++。但我只是提到它,因为我觉得OP可能没有意识到这一点。您使用
I++
递增两次,一次在for语句中,一次在body中。这很糟糕…顺便说一句。这样编写for循环是一个好习惯:
for(int i=0;i<5;++i)
注意数字5而不是4,这样您就可以立即看到元素的数量,并且您不必在头脑中减去1,并且总是喜欢preincrement
++i
(和其他前缀运算符)而不是postinrement
i++/code>(或其他后缀运算符)。原因是性能-在某些情况下,后缀会导致创建临时副本。数组不能为空-它始终包含相同数量的内容。问题主要是因为在使用前没有找到
printf
的工作原理。@V.K.性能不是任何基本类型的原因(如
int
),但仅适用于用户定义的(在某些情况下).
++i
i++
i++=1
都将创建相同的代码,至少启用一次优化。但坚持其中一个是很好的风格,因为它可以改变用户定义的类型,所以应该坚持使用
++i
。您将使用
i++
增加两次-在for stat中增加一次一次在身体中。这是不好的…顺便说一句。像这样写for循环是一个好习惯:
for(int i=0;i<5;++i)
注意数字5而不是4,这样你就可以立即看到元素的数量,你不必在头脑中减去1,并且总是喜欢preincrement
++i
(和其他前缀操作符)过后增量
i++
(或其他后缀运算符)。原因是性能-后缀会导致在某些情况下创建临时副本。数组不能为空-它始终包含相同数量的内容。您的问题主要是因为在使用前没有找到
printf
的工作原理。@V.K.性能不是任何基本类型(如
int
)的原因,但仅适用于用户定义的类型(在某些情况下)。
++i
i++
i+=1
都将创建相同的代码,至少在启用优化后是这样。但坚持其中一种是很好的风格,因为它可以改变用户定义的类型,所以应该坚持使用
++i
#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]);

}
, , , ,