2017-04-25 60 views

回答

0

那麼,你使用strcpy()複製到一個固定的字符數組。如果argv[1]的長度大於32,則會超出陣列中分配的空間,這可能會導致麻煩。

此外,您訪問argv[1]而不驗證它存在。 argvchar**,表示指向指向char字符串的指針數組的指針。 argc保存這些char字符串的數量。當您在未驗證argc大於或等於2的情況下閱讀argv[1]時,您可能正在閱讀垃圾。

這些故障意味着你的程序將會崩潰或有不明/不規則的行爲,如果:

  1. 當程序的命令行推出的時間不超過兩個參數
  2. 第二個參數是在長度上大於32個字符