【发布时间】:2025-12-17 19:20:03
【问题描述】:
我想知道在 Python 中填充数组的等效方法,但在 C 中。
Python 示例代码:
arrayname=[0]*10
randomtextvar="test_text"
for i in range(10):
arrayname[i]=randomtextvar
for k in range(10):
print(arrayname[k]+" "+str(k)+ " position")
我还没有找到解决方案,我真的不明白如何将值设置为字符串 (char) 数组位置(在 C 中)。
编辑:
#include <stdio.h>
#include <string.h>
int main() {
int c = 0;
char arr[256];
fgets(arr, 256, stdin);
char spl[] = " ";
char *ptr = strtok(arr, spl);
while (ptr != NULL) {
ptr = strtok(NULL, spl);
// HERE I WANT TO ADD THE ptr value to a new array of strings
c++;
}
return 0;
}
【问题讨论】:
-
'valorize' 是什么意思?
-
我的意思是设置值,翻译错误,已经编辑,抱歉。
-
请尽可能多地显示您已经知道如何操作的代码。不清楚你到底不明白什么。您要复制字符串还是引用相同的字符串?你知道如何声明一个数组吗?你知道指针吗?你知道如何复制字符串吗?
-
你可以这样做:
char *string_array[10]; int i = 0; ... string_array[i++] = strdup(ptr);。请注意,strdup分配动态内存,因此您在不再需要时需要free。另外,需要确保数组没有溢出。