以下两个程序使用了一些基本的指针操作。但他们的表现不同。
#include<stdio.h>
#include<string.h>
int main(void){
int a = 1;
int b = 2;
int *pb, *pc;
pb = &a;
pc = pb;
pb = &b;
printf("%d %d\n", *pb, *pc);
}
该程序按预期打印两个不同的数字(1 和 2),同时,
#include<stdio.h>
#include<string.h>
int main(void){
char *ptr, s[10];
ptr = s;
gets(s);
printf("%s %s\n", ptr, s);
}
该程序两次打印相同的字符串,而它也必须打印不同的字符串。
为什么会有这种差异?
get() 如何读取字符串?