gpt4 book ai didi

c - 为什么字符串的大小在 main 和函数中不同?

转载 作者:太空宇宙 更新时间:2023-11-04 06:58:08 25 4
gpt4 key购买 nike

<分区>

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int foo(char str[])
{
char *str1=(char *)malloc(sizeof(char )*sizeof(str));

printf("\n str %s size : %zu \n",str,sizeof(str));
}

int main()
{
char str[]="879879879-=-=-@#$@#$abcd";
printf("\n str %s size : %zu \n",str,sizeof(str));

foo(str);
return 0;
}

为什么 main()foo() 中的字符串长度不同?这是一个简单的程序,其中 main 使用 str 调用 foo — 同样的 str 在中显示长度为 25 主要foo 8 中:为什么?

输出:

str 879879879-=-=-@#$@#$abcd  size : 25  
str 879879879-=-=-@#$@#$abcd size : 8

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com