gpt4 book ai didi

C 字符串 - char* 作为整数?

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

我正在做一个学习 C 的个人项目。它的第一部分是解析用户提示的由空格分隔的整数行,并将其读入整数数组。这是我拥有的:

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

#define MAX_PAGES 100

int main() {

char *pageInputArray;
int *pages[MAX_PAGES];
char *start;
char *end;
int iterVar;


printf("%s\n", "Enter the page reference stream: ");
scanf("%s", pageInputArray);

start = pageInputArray[0];

iterVar = 0;
while ((start = strpbrk(start, "0123456789") != NULL) && (iterVar < MAX_PAGES)) {
pages[iterVar] = strtol(start, &end, 0);
printf("%d\n", pages[iterVar]);
start = end;
iterVar++;
}
}

当我尝试编译时,我收到了这个警告:

warning:  assignment makes pointer from integer without a cast [enabled by default]

对于具有以下内容的行:

start = pageInputArray[0];

while ((start = strpbrk(start, "0123456789") != NULL) && (iterVar < MAX_PAGES))  {

pages[iterVar] = strtol(start, &end, 0);

这让我抓狂,因为机器似乎认为 @start 是一个整数,但我明确声明它是一个 char* 。谁能告诉我这是怎么回事以及如何解决?

最佳答案

你需要先分配pageInputArray,然后再存储任何东西

关于C 字符串 - char* 作为整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23020715/

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