如何重写 C 是正确的。

发布于 科技 2024-08-22
9个回答
  1. 匿名用户2024-02-01

    你在 malloc 中没有一种类型的分配内存,但你可以这样写,所以你可以这样写。

    printf("%d",sizeof(char)*(strlen(b)+1));

    sizeof(char) 是类型的字节,然后乘以您分配的大小。

    但是如果里面的A是int,就不可能是这样的,因为一个int占用了4个字节,那么你分配的字节数就是(strlen(b)+1)4个元素,其实malloc分配的字节就是malloc中的参数。

  2. 匿名用户2024-01-31

    #include

    #include

    #include

    char *f(char *b)

    char *a;

    a=malloc(strlen(b)+1);由于传递 b 是 “gasdg” 并且 strlen(b)=5,因此 malloc 分配了 6 个字节的内存。

    int main ()

    char *s="gasdg";

    f(s);printf("%d",strlen(s));

    return 0;

  3. 匿名用户2024-01-30

    char *f(char *b){}

    该函数缺少返回值。

    添加返回 a; 就是这样。

    malloc 函数分配 6 个字节。

  4. 匿名用户2024-01-29

    你在这里做什么,f(s) 的目的是什么,既然有返回值,为什么不接收返回值。 空间已在功能中分配,应相应释放空间。

  5. 匿名用户2024-01-28

    你对 malloc 的使用是错误的,对了,你必须在 malloc 前面添加一个演员表。

  6. 匿名用户2024-01-27

    这都是 if 语句是错误的,而 if 的正确用法是。

    如果(语句1)当然只有一个语句的时候,你也不能写大括号,第一个语句不需要加双引号,而且你也混淆了C语言赋值运算符逗号=地和逻辑运算符逗号==地的区别,前者是把右边的变量或常量的值赋给左边的变量, 后者是确定双方是否相等。

    因此,程序中的 if 应该这样写:

    if(sign=='*')

    printf("%d*%d=%d",x,y,x*y);

    其他一些如果也是如此,我希望它能帮助到你。

  7. 匿名用户2024-01-26

    括号是否成对,printf 是否写正确 ......

  8. 匿名用户2024-01-25

    ** 中的 ** 与标题不匹配。 请单独发送匹配**。

  9. 匿名用户2024-01-24

    sum 赋值的初始值是错误的,它应该是 0

相关回答
12个回答2024-08-22

如何抽烟是没有正确凝视的,,,

吸烟建议少抽,模仿。 >>>More

7个回答2024-08-22

开发工具有:VS2008或VS2010,80x86组装工位 **有一篇宏写给初学者的 C C++,写得很好。 标题是: >>>More

10个回答2024-08-22

小学生才刚刚开始学习,如何学好英语,同学们要注意提高课堂学习效率,主要注意以下几个方面: >>>More

8个回答2024-08-22

根据写作要求,从以下几个方面进行检查:一是检查试题是否正确,二是检查中心是否清晰,三是检查材料是否典型,四是检查内容是否具体,五是检查水平是否清晰,六是检查句子是否流畅,七是检查标点符号是否正确。 >>>More

4个回答2024-08-22

如果你有几种喂养方法,但不知道哪一种是正确的,那么,当你问一个问题时,把它发出来,并问一个详细的问题,以便其他人可以帮助你。