我已经编写了以下代码。

int main(){
   char arrays[12];
   char *pointers;
   scanf("%s",arrays);
   scanf("%s",pointers);
   printf("%s",arrays);
   printf("%s",pointers);
   return 0;
}

为什么在我写`scanf(“%s”,pointers)时出现错误?

最佳答案

char *pointers;

必须初始化。在将字符串指向某个地址之前,无法将其扫描到pointers中。计算机需要知道在哪里存储从键盘读取的值。
int main(){
   char arrays[12];
   char *pointers= arrays;
   scanf("%s",pointers);
   printf("%s",pointers);
   return 0;
}

关于c - 使用scanf函数和指向字符的指针,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14546018/

10-12 16:10