命令提示符传参打不开文件

用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
#include 
int main(int argc,char *argv[]) {
    FILE *fp1;
    fp1=fopen("a1.txt","r");
    if(fp1==NULL){
        printf("error");
    }
    return 0;
}


运行结果及详细报错内容

命令提示符运行结果:
Microsoft Windows [版本 10.0.19045.2486]
(c) Microsoft Corporation。保留所有权利。

C:\Users\admin>9-33
error
C:\Users\admin>

img

(文件名为9-33.exe)

不知道为什么
这段代码用命令提示符运行
a1.txt就打不开,fp1返回空指针;
直接在dev-c++上运行就没问题
请问有没有人可以帮忙解答一下

用绝对路径试下,把这个txt的路径补全

供参考:

#include <stdio.h>
int main(int argc,char *argv[]) {
    FILE *fp1;
    if (argc > 1)
        fp1 = fopen(argv[1],"r");
    else
        fp1 = fopen("a1.txt","r");
    if(fp1 == NULL)
        printf("error");
    else
        printf("ok");

    return 0;
}

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^