注册 登录
编程论坛 C++教室

新手想寻求该程序的帮助

菁菁wang 发布于 2011-10-18 11:58, 1094 次点击
#include<iostream.h>
void main(int argc,char *argv[])
{
    double a,b,c;
    a=atoi(argv[1]);
    b=atoi(argv[2]);
    c=a+b;
    cout<<"First Number:"<<a<<endl;
    cout<<"Second Number:"<<b<<endl;
    cout<<a<<"+"<<b<<"="<<c<<endl;
}
编译之后显示 error C2065: 'atoi' : undeclared identifier
好像是必须在dos下或者在编译器中设置命令行参数才能运行代码还是什么问题?
怎么去调试使程序正常运行?
6 回复
#2
yuccn2011-10-18 12:10
加上
#include <stdlib.h>

不过你的程序要加上运行参数才行的。比如你的程序是test.exe,那么启动他的命令为 test.exe 12 34, 12 34 是两个参数,你也可以改成其他的。要不运行会程序崩溃。

建议你把程序改成这样吧:
void main(int argc,char *argv[])
{
    double a,b,c;

    cout<<"Input First Number:";
    cin>>a;
    cout<<"Input Second Number:";
    cin>>b;

    c=a+b;
    cout<<"First Number:"<<a<<endl;
    cout<<"Second Number:"<<b<<endl;
    cout<<a<<"+"<<b<<"="<<c<<endl;
}
#3
laznrbfe2011-10-18 12:16
atoi()函数的头文件是#include<stdlib.h>
程序代码:
#include<iostream.h>
#include<stdlib.h>
int main(int argc,char *argv[])
{
    int a=0,b=0,c=0;
    cout<<argv[0]<<","<<argv[1]<<endl;
    a=atoi(argv[1]);
    b=atoi(argv[2]);
    c=a+b;
    cout<<"First Number:"<<a<<endl;
    cout<<"Second Number:"<<b<<endl;
    cout<<a<<"+"<<b<<"="<<c<<endl;
    return 0;
}

编译,联接,运行。生成对应的.exe文件(假设文件名为10181155.exe,放在E:\C++复习\Debug)
在开始,附件,找到命令提示符
输入如下:
e:
再按回车键
C++复习\Debug\10181155.exe 15 45
输出:
First Number:15
Second Number:45
15+45=60

[ 本帖最后由 laznrbfe 于 2011-10-18 12:33 编辑 ]
#4
菁菁wang2011-10-18 14:02
回复 2楼 yuccn
很感谢您的建议,我是想了解命令行处理这一知识点,但是如何启动命令为 test.exe 12 34?
#5
菁菁wang2011-10-18 14:20
回复 3楼 laznrbfe
按照您的方法,编译连接都很正常,但是无法运行,需要调试程序
#6
liulihangg2011-10-19 09:43
asdf
#7
讯草2011-10-19 16:23
学习了~~
1