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
(和其他前缀运算符)而不是postinrementi++/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]);
}
, , , ,