Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ ';分段故障(堆芯倾倒)和#x27;带箱子_C++_Segmentation Fault - Fatal编程技术网

C++ ';分段故障(堆芯倾倒)和#x27;带箱子

C++ ';分段故障(堆芯倾倒)和#x27;带箱子,c++,segmentation-fault,C++,Segmentation Fault,“分段故障(堆芯转储)”在我执行以下程序时出现。但是,如果我使用if…else语句,它不会给我任何错误。在这种情况下,错误消息的原因是什么?如何使用case语句而不出错 #include <iostream> #include <cstdlib> using namespace std; int main(int argc, char* argv[]){ /* if (argc == 1){ cout << argv[0] <

“分段故障(堆芯转储)”在我执行以下程序时出现。但是,如果我使用if…else语句,它不会给我任何错误。在这种情况下,错误消息的原因是什么?如何使用case语句而不出错

#include <iostream>
#include <cstdlib>
using namespace std;

int main(int argc, char* argv[]){

/*
    if (argc == 1){
        cout << argv[0] << endl;
    }else
    if (argc == 2){
        int n;
        n = atoi(argv[0]);
        cout << n << endl;
    }
*/
    switch (argc){
        case 1:{
            cout << argv[0] << endl;
        }
        case 2:{
            int n;
            n = atoi(argv[1]);
            cout << n << endl;
        }
    }

    return 0;
}
#包括
#包括
使用名称空间std;
int main(int argc,char*argv[]){
/*
如果(argc==1){

cout在
开关
块中没有
中断
。因此,每种情况都会出错。当
argc
1
时,这会调用未定义的行为。当您不想出错时,应
中断开关

开关(argc){
案例1:{

cout@RogerLipscombe…哎呀,我的错误。更正。谢谢
switch (argc){
    case 1:{
        cout << argv[0] << endl;
        break;
    }
    case 2:{
        int n;
        n = atoi(argv[1]);
        cout << n << endl;
        break;
    }
}