已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 编程 > C/C++

标题: c小程序,如何改变输入的参数?

作者: @Ta

时间: 2020-09-02发布,2020-09-02修改

点击: 6474

这是使用二维数组方法
#include <stdio.h>
#include <string.h>

int main(int argc,char *argv[])
{
    char argvs[20][20];
    
    for (int i=0; i<argc; i++) {
        strcpy(argvs, argv);
    }
    strcpy(argvs[argc], "aixiao");

    int i = 0;
    while(i <= argc)
    {
        printf("%s\n",argvs);
        i++;
    }

    return 0;
}

使用argvs就可以代替argv


1599014953(1).png


这是使用二级指针的方法,
#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[], char **env)
{
    char *argvs[20];                
    for (int i=0; i<argc; i++) {
        argvs = argv;
    }

    char s[] = "/temp";
    argvs[argc] = s;
    
    
    char **p9;
    p9 = &argvs;
    
    
    int i=0;
    while(i <= argc)
    {
        printf("%s\n", p9);
        i++;
    }
    

    return 0;
}


[隐藏样式|查看源码]


『回复列表(8|隐藏机器人聊天)』

2. @卷心菜
这个也是不完美的,当我使用时发现
“warning: initialization of ‘char *’ from incompatible pointer type ‘char (*)[20]’”
一个是字符指针,另一个是指针数组。

(/@Ta/2020-09-02 15:08//)

3. @老虎会游泳,我想用一个二级指针指向那个二维数组
(/@Ta/2020-09-02 15:13//)

4.

@爱消
char** p;
char* x[20];

(/@Ta/2020-09-02 15:47//)

5. @老虎会游泳,已经解决
(/@Ta/2020-09-02 15:47//)

6.

@爱消,哦

(/@Ta/2020-09-02 15:48//)

7. @老虎会游泳,我修改了mv命令源码,要在最后添加一个垃圾桶目录。所以用到了二级指针操作

1599034111(1).png
(/@Ta/2020-09-02 16:10//)

8.

@爱消,我现在只能说,警告不是错误。有时候为了消除警告,只能进行强制类型转换。或者你可以直接忽略它。

(/@Ta/2020-09-02 19:12//)

9. @老虎会游泳,是的
(/@Ta/2020-09-02 20:26//)

回复需要登录

7月14日 07:35 星期一

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1