要求比要求更多的元素
For asking more elements than required
本文关键字:元素 更新时间:2023-10-16
所以,我做了这个代码来输入数组上的一些值,加倍然后打印。问题是,据我所知,代码中没有错误,但是当我运行它时,它会让我要求输入一个超出我要求的值的值(在这种情况下,当我需要 5 个值时,它会询问我 4 个值。有人可以帮助我吗? (对不起英语不好:P)
#include <stdio.h>
#include <cstdlib>
#define lim 4
void input(int arr[], int size);
void multiply(int arr[], int size);
void print(int arr[], int size);
int main(){
int array[lim];
printf("Insert numbers in array: n n");
input(array,lim);
multiply(array,lim);
printf("Printing values after multiplying: n n");
print(array,lim);
system("pause");
return 0;
}
void input(int arr[], int size){
for (int i = 0;i < size; i++){
scanf("%d n", &arr[i]);
}
}
void multiply(int arr[], int size){
for (int i = 0; i < size; i++){
arr[i] *= 2;
}
}
void print(int arr[], int size){
for(int i = 0;i < size; i++){
printf("%d n", arr[i]);
}
}
scanf()
函数在尝试解析字符(%c
、%[…]
、%n
)以外的内容之前自动删除空格,因此您不必像尝试%d n
那样跳过它们。
只需阅读数字,而不关心它们。
scanf("%d", &arr[i]);
// ^^^^
此外,您正在用C ++编码,有不同的(更简单的)IO操作,首先您必须包含<iostream>
。
然后,对于阅读,您使用std::cin
int i{0};
std::cin >> i;
并通过std::cout
打印
std::cout << i;
在这里,您可以获得有关它们的扩展信息。
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 使用strcpy将char数组的元素复制到另一个数组
- 使用不带参数的函数访问结构元素
- 给定n个元素的m个集合.在C++中找到出现在最大集合数中的元素
- C++如何通过用户输入删除列表元素
- lower_bound()返回最后一个元素
- 基于多个条件处理地图中的所有元素
- 调整大小后指向元素值的指针unordered_map有效?
- 使用std::transform将一个范围的元素添加到另一个范围中
- 使用函数"remove"删除重复元素
- 具有最大子序列大小的序列,每个元素都相同
- 如何将两个不同矢量的同一位置的两个元素组合在一起
- 如何将元素添加到数组的线程安全函数?
- 有没有办法将谓词中的元素偏移量传递给 std 算法?
- 我想访问std::unique_ptr中的一个特定元素
- 如何通过 getter 函数删除矢量的元素?
- 向量元素的引用地址与它所指向的向量元素的地址不同.为什么
- 从控制台中删除最后打印的元素
- 擦除while循环中迭代的元素