gpt4 book ai didi

c - 如何使用指向该数组的指针打印出字符数组

转载 作者:行者123 更新时间:2023-11-30 15:23:48 27 4
gpt4 key购买 nike

在我的下面的代码中:

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

#define BLOCKSIZE 256;

int main()
{
char text[BLOCKSIZE];

char *new_line;
new_line=strcpy(text,"hello");

int i;
for(i=0;i<sizeof(text)/sizeof(char);i++)
{
printf("%c",*(new_line+i));
}

return 0;

}

我试图使用指向字符数组文本地址的指针在屏幕上打印字符串“hello”。但在我的代码中,我得到字符串 hello 并继续一些垃圾值,然后导致核心转储。谁能告诉我正确的方法吗?谢谢 enter image description here

最佳答案

for(i=0;i < sizeof(text)/sizeof(char);i++)

text的大小是 256 字节,因为您已为其分配了 256 字节。 sizeof(text)/sizeof(char)将返回一个远大于“hello”大小的值。这就是循环在“hello”之后打印垃圾值的原因。您应该使用i < strlen(text)相反。

关于c - 如何使用指向该数组的指针打印出字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28642235/

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