【发布时间】:2021-02-12 10:13:46
【问题描述】:
我希望你们中的一些人可以帮助我对分配给包含字符(特别是字母)的数组的指针有一个基本的了解。我的问题是当用户应该输入字母时,我的部分代码“D”或“U”不起作用,我不知道问题出在哪里。我试图在没有指针的情况下设置它,但这使我的程序变得更加复杂,我也在努力最终学习那该死的东西。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int number;
scanf("%d", &number);
char *pz;
char save[number];
for (int i = 0; i < number; i++)
{
pz = &save[i];
scanf("%s", pz+i);
}
【问题讨论】:
-
你不能
scanf一个数字然后创建一个没有动态内存分配的大小的数组。 -
这段代码没有任何意义。请解释一下这个程序应该做什么
-
@whiskyo 不,如果编译器允许,他可以这样做。:)
标签: arrays c char scanf pointer-arithmetic