C++简单指针程序
c++ simple pointer program
这是一个简单的程序,它将命令行上发送的所有数字相加。 它应该采用任意数量的值。它一直给我每行一个 0。我已经厌倦了进行一些更改,但它继续提供相同的输出
#include <iostream>
#include <cstdlib>
using namespace std;
int main(int argc, char *argv[])
{
for (int i = 0; i < argc; i++)
{
int sum=0;
sum+=atoi("argc[i]");
cout << sum << endl;
}
return 0;
}
"argc[i]"
是一个文字字符串,所以当被atoi
转换时给出0! sum
应在循环之前初始化:
int main(int argc, char *argv[]) {
int sum=0;
for (int i = 1; i < argc; i++) {
sum += atoi(argv[i]);
}
cout << sum << endl;
return 0;
}
按照惯例,argv[0]
是程序的名称(或者至少是命令行中用于调用程序的名称),因此最好从索引 1 开始。
你需要花十几个小时阅读更多的书,并在电脑上进行实验。在这里问这样一个基本问题对你根本没有帮助(被认为是粗鲁的......
不要忘记在编译时启用调试信息和所有警告(例如,如果使用 GCC,则使用 g++ -Wall -g
)。然后,学习如何使用调试器(例如 gdb
)。
你的基础知识不清楚,我建议你读这本书。程序应该是这样的:
#include <iostream>
#include <cstdlib>
using namespace std;
int main(int argc, char *argv[])
{
int sum=0;
for (int i = 0; i < argc; i++)
{
sum+=atoi(argv[i]);
}
cout << sum << endl;
return 0;
}
将参数总和移到循环外!!
#include <iostream>
#include <cstdlib>
using namespace std;
int main(int argc, char *argv[])
{
int sum=0;
for (int i = 0; i < argc; i++)
{
sum+=atoi(argv[i]);
cout << sum << endl;
}
return 0;
}
相关文章:
- 共享指针和具有自定义删除程序的唯一指针之间的语法差异背后的任何原因
- 是否可以使用非常量指针调用非常量函数,以及当两个unique_ptrs指向同一个对象时程序的行为方式?
- 如果我删除指针,我的C++程序会意外删除系统文件吗?
- 为什么从 constexpr 引用生成的程序集代码与从 constexpr 指针生成的程序集代码不同?
- 在C++中的程序之间共享指针
- 使用唯一指针调用函数会使我的程序崩溃
- 指针和程序性能之间有什么关系吗?
- 使用终止程序的指针在数组中输入字符串
- 如何在程序集函数中将元素数组作为参数传递时转发 ARM 寄存器的地址指针
- 类指针方法崩溃程序
- 找不到如何创建使用指针、字符和 for 函数组合的程序
- LLDB 格式化程序摘要提供程序和模板智能指针的语法子项
- 当程序从该函数调谐器时,指向在函数中声明和定义的某些 C 字符串的指针不再有效.为什么?
- 从 GetProcAddress 获取的函数指针在使用 stdlib 时会使程序崩溃
- C 指针设置为地址,但莫名其妙地指出了程序的不同部分中的不同值
- 如何在没有作弊引擎的情况下从其他应用程序获取指针地址?
- 将统一的内存指针传递给内核会减慢程序的速度
- 了解 ARM 程序集说明和 C/C++ 指针
- protobuf "oneof" sub-protobuf 对象指针终止程序
- C++ 堆栈程序 指针问题的 Wsing 数组 新字符[len],其中 len 为 2 创建 16 个字符