贼a服 2022-01-02 11:51 采纳率: 100%
浏览 50
已结题

字符串指针变量作函数参数

问题遇到的现象和发生背景

如果把自定义函数内的内容搬到主函数里就不会运行错误

问题相关代码,请勿粘贴截图
void judge(int num,char *string)
{
    for(int a=2;a<num;a++)
    if(num%a==0){string="否";break;}
    else string="是";
}
int main()
{
    char *string;
    int num=5;
    judge(num,string);
    printf("%s",string);
}

运行结果及报错内容

程序输出了null

我的解答思路和尝试过的方法


本意是想着在自定义函数里对字符串指针变量赋值,然后再主函数里输出。

我想要达到的结果

想着程序能输出“是”或者“否”。

  • 写回答

2条回答 默认 最新

  • 书山客 2022-01-02 12:00
    关注
    
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    void judge(int num, char* string)
    {
        for (int a = 2; a < num; a++)
            if (num % a == 0) { strcpy(string, "否"); break; }
            else strcpy(string ,"是");
    }
    int main()
    {
        char* string=(char*)malloc(sizeof(char)*20);
        int num = 5;
        judge(num, string);
        printf("%s", string);
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月10日
  • 已采纳回答 1月2日
  • 创建了问题 1月2日

悬赏问题

  • ¥15 FileNotFoundError 解决方案
  • ¥15 uniapp实现如下图的图表功能
  • ¥15 u-subsection如何修改相邻两个节点样式
  • ¥30 vs2010开发 WFP(windows filtering platform)
  • ¥15 服务端控制goose报文控制块的发布问题
  • ¥15 学习指导与未来导向啊
  • ¥15 求多普勒频移瞬时表达式
  • ¥15 如果要做一个老年人平板有哪些需求
  • ¥15 k8s生产配置推荐配置及部署方案
  • ¥15 matlab提取运动物体的坐标