c++同样的代码gcc和vs实现不同,那么我们在写程序时应该用什么编译器?

#include <iostream>

#include<conio.h>

#include<cctype>

#include<array>

using namespace std;


int main()


{

    cout<<"input:";

    array<int,10> a;

    double donation;

    cin>>donation;  //这里我输入 字母q

    cout<<donation;


}


白板的微信
浏览 1230回答 3
3回答

倚天杖

这个完全取决于你的程序是想在哪个平台运行,另外C++本身就是跨平台的,你说的应该是VC++与Linux C++的区别,也不是所有C++代码在windows和Linux上实现不一样,比如stl,纯C++的那部分是一样的。

森林海

和生产环境服务器相同,如果生产环境不确定,可以做成跨平台的。另外你这是double却输入非数字……这在实际情况中是要做过滤的。

鸿蒙传说

你从std::cin获取的是double类型,那么你的输入必须是能够转换成double的字符串,那就必须是数字,不能输入非数字字符。这就要在你的程序中做处理。一般来说是把输入保存到到一个字符串变量中,然后做字符判断,再进行下一步。vs输出的随机数是因为你没有初始化。调试查看变量你会发现,输入q之后,cin>>donation没有对donation做任何事。所以除非是定义之后立即赋值使用的变量可以不初始化,其余均建议在定义时初始化。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java