在 c++ 中反转数组时,为什么在输入和输出之间得到一个"random"数字?
When reversing an array in c++, why do i get a "random" number in between an input and output?
到目前为止,我一直在学习C,现在我想尝试C++。从一些简单的任务开始。但是我似乎找不到答案,为什么有一个数字要么是0,要么是488834......打印出来。
我尝试使用
for(n-1; n>=0; n--){
cout << a[n] << endl;
}
int main(){
int var = 0;
int a[100],n;
cin >> n;
for(int i=0; i<n; i++){
cin >> a[i];
var++;
}
for(var-1; var>=0; var--){
cout << a[var] << endl;
}
一切正常,除了输出中间的 0/一些数字结果
在以下行中:
for(var-1; var>=0; var--){
var-1
实际上并没有修改var
的值。因此,var
可以保留其原始值,这意味着您最终打印的第一个值是原始序列结束后的值。
请改用var = var - 1
。
在你的第二个 for 循环中,你没有赋值,只有一个语句。因此,您从包含无效数字的数组位置开始打印,您可能还希望读取第二个循环
for(var = var-1; var>=0; var--){
cout << a[var] << endl;
}
现在,有更多的元素方法来编写它,但这是代码中需要的修复。
相关文章:
- 如何(从固定列表中)选择一个数字序列,该序列将与目标数字相加
- 如何获取一个数字的前3位
- 以C++输出一个数字三角形
- 反转一个数字程序不起作用,为什么?
- 如何让用户在 c++ 中选择一个数字
- 输出一个数字,该数字可能是三种类型之一
- C++在不使用pow或循环的情况下计算一个数字的幂
- 我必须更改我的数字最后一个数字和第一个数字,但不要使用仅带有整数或循环的函数.例如从 12345 到 52341
- 找到所有与自己求和的数字X的快速方法,去掉一个数字得到N
- C++[递归]将一个数字写成2的升序之和
- 试图找到一个数字的平方根,但代码不起作用。C++
- 我没有得到一个数字作为输出,而是一个表情符号
- 我的代码应该接受一个数字,并返回字母等级或"Grade is not valid"但 else 语句不起作用
- 将一个数字拆分为多个数字,每个数字只有一个有效位
- 你怎么编码,如果x不等于一个数字,程序就会退出
- 如何将整数数组相乘得到一个数字?
- 为无符号字符* 分配一个数字
- 如何以更有效的方式检查一个数字是否是素数?
- C++显示两个区间之间的数字的程序检查一个数字是否可以表示为两个素数的总和
- 字符串和双精度的麻烦,等值后再得到一个数字