【发布时间】:2017-10-23 06:25:36
【问题描述】:
strcat(argv[1], ".txt");
puts(argv[1]);
strcat(argv[2], ".txt");
puts(argv[2]);
puts(argv[1]);
假设第一个([1])参数称为“a”,第二个([2])称为“b”。此代码提供以下输出:
a.txt
txt.txt
a.txt.txt
为什么会这样??似乎 strcat 开始覆盖 arg[2]?
【问题讨论】:
-
C 中的“字符串管理”不同。