main()
{ int i;
char buffer[96];
scanf("%s",buffer);
i = sizeof(buffer);
printf("%d",i);
}
输出为:96
将buffer作为下面函数的第一个参数带入,输入为4。
在main中sizeof(buffer)我当然知道可以求出分配的空间为96。
关键是求带入下面函数以后怎么求出buffer的分配空间为96?
char * my_str(char *dest)
{
int i;
i = sizeof(dest);
printf("%d",i);
}
my_str(buffer)
输出为:4;
{ int i;
char buffer[96];
scanf("%s",buffer);
i = sizeof(buffer);
printf("%d",i);
}
输出为:96
将buffer作为下面函数的第一个参数带入,输入为4。
在main中sizeof(buffer)我当然知道可以求出分配的空间为96。
关键是求带入下面函数以后怎么求出buffer的分配空间为96?
char * my_str(char *dest)
{
int i;
i = sizeof(dest);
printf("%d",i);
}
my_str(buffer)
输出为:4;
1.initialize後.讓最後一個一定為NULL.
2.設置成全局..這對你來說不可取.
3.還是按照樓上樓上方法巴.傳第三參數.
要不就在你对buffer进行处理之前sizeof.