我正在尝试理解带有参数argc和argv的主函数。在命令行中,我试图复制屏幕上多个txt文件的内容(串联)。当我在命令行appname.exe中写入f1.txt时,f1.txt中的内容会循环打印。如果f1.txt有文本"abcda",控制台中的输出将是"abcdaabcdabcda…"。对不起我的英语;有人能帮我理解我做错了什么吗?
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(int argc, char *argv[])
{
int i;
for (i = 2; i <= argc - 1;i+2)
{
FILE *f = fopen(argv[i], "r");
if (f == 0)
{
printf("Errorn");
}
else
{
int x;
while ((x = fgetc(f)) != EOF)
{
printf("%c", x);
}
}
fclose(f);
}
}
这里有一个大问题:
for (i = 2; i <= argc - 1;i+2)
我想你的意思是:
for (i = 2; i <= argc - 1; i++)