You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言参数使用方法:如何向函数传入字符串作为参数运行

C语言实现传入字符串调用功能的方案

C语言的main函数是程序的标准入口,有固定的参数签名规范,不支持自定义为int main(str)的形式直接接收字符串参数,也不建议用户手动调用main函数(属于标准未定义行为)。你要实现传入字符串调用、返回0或1的需求,推荐以下两种方案:

方案1:抽离业务逻辑为独立函数(最贴合需求)

把你写的判断逻辑从main里单独抽成自定义函数,就可以像JS里调用函数一样直接传入字符串使用:

#include <string.h>

// 自定义功能函数,直接接收字符串参数,返回0/1
int check_string(const char *str) {
    // 提前计算字符串长度,避免循环中重复调用strlen浪费性能
    size_t str_len = strlen(str);
    // 长度判断只需执行一次,不需要放到循环内
    if (str_len != 10) {
        return 0;
    }
    for (int i = 0; i < str_len; ++i) {
        char ch = str[i];
        // 此处可添加你后续要对单个字符做的处理逻辑
    }
    return 1;
}

int main(void) {
    // 调用方式和你预期的效果完全一致,直接传字符串即可拿到返回值
    int result = check_string("EWEWEWEEW");
    return result;
}

方案2:通过命令行参数传入字符串

如果你需要在程序启动时从外部传入字符串,用标准的main函数参数形式即可:

#include <string.h>

int main(int argc, char *argv[]) {
    // 校验是否传入了参数:argc=1时只有程序本身,argv[1]才是第一个传入的字符串参数
    if (argc < 2) {
        return 0;
    }
    const char *str = argv[1];
    size_t str_len = strlen(str);
    if (str_len != 10) {
        return 0;
    }
    for (int i = 0; i < str_len; ++i) {
        char ch = str[i];
        // 你的字符处理逻辑
    }
    return 1;
}

编译完成后,在命令行执行./编译生成的程序名 要传入的字符串即可,比如./test EWEWEWEEW。


内容的提问来源于stack exchange,提问作者RandomDeveloper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 00:45:03