我找不到有关此事的帮助。我发现的大多数问题都与未使用'\ 0'关闭数组有关,但事实并非如此。
void main() {
char text[1000];
int index=0;
loadText(text,&index);
printf("\nThe text is:\n %s",text);
getch();
}
void loadText(char* text,int* index){
printf("Insert the text: \n");
while((*index<1000) && (text[*index]=getchar())!=EOF) {
*index++;
}
text[*index]='\0';
}
当我打印数组时,它会显示随机字符。
另一方面,这是一个测试,我们被迫将函数编写为:
void loadText(char*, int*)
答案 0 :(得分:2)
在
*index++;
不会增加指针中的值。相反,它获取值(*index)
,然后递增指针本身(index=index+1)
。
待办事项
(*index)++;