簡體   English   中英

cmd參數中的語法錯誤

[英]error of syntax in the cmd parameters

#include<stdio.h>
#include<string.h>

char *operator[][10] = { {"(",")","[","]","->","."},
                    };

int main(int argc,int *argv[])
{   
    int len = sizeof(operator)/sizeof(operator[0][0]);

    for( int k = 1 ; k < argc ; k++ )
        printf("%s ",argv[k]);

    printf("\n");               

    for( int i = 0 ; i < 2 ; i++ )
    {
        for( int j = 0 ; j < 6 ; j++ )
        {
            for( int k = 1 ; k < argc ; k++ )
                if( !strcmp( argv[k],operator[i][j]) )
                    printf("%s",operator[i][j]);
        }
    }

    return 0;   
}

編譯后,我想測試“->”是否正常工作,因此我使用命令test.exe -> ,結果發現語法錯誤。但是當我將命令更改為test.exe "->"它可以工作。 我想知道是否與順序語法有關。 ps我的操作系統是win7,我使用Dev-cpp。 謝謝你的幫助。

>在命令提示符下具有特殊含義,用於將輸出重定向到文件。 您需要引用它才能按字面意義對待它。

順便說一句,我認為您程序中的這一行是錯誤的:

int len = sizeof(operator)/sizeof(operator[0][0]);

它應該是:

int len = sizeof(operator)/sizeof(operator[0]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM