gpt4 book ai didi

c - 将 getchar 与指针一起使用,如 char 数组

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

#include<stdio.h>

int main(){
char *q;
int i=0;
do{
*(q+i)=getchar();
i++;
}while(*(q+i)!=48);

int j=0;

for(;j<i;j++)
printf("%c",*(q+j));
}

我尝试这样使用。我可以编译。然而它不起作用。我的目标是我想获取 char 数组(无限或限制将由用户定义)我该怎么办?

最佳答案

你应该读一本关于 C 的书。

你只是在写入随机内存,导致未定义的行为。

必须分配内存,不能直接通过未初始化的指针写入!

例如,制作它:

char buffer[1024], *q = buffer;

当然,请确保您没有越界。

此外,将访问权限写成*(p + i)是没有意义的,因为p[i] 表示完全相同的东西 并且更易于阅读。

最后,请记住,从技术上讲,getchar() 返回 int,因为它可以返回 EOF,这不是一个字符。

关于c - 将 getchar 与指针一起使用,如 char 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26280537/

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