我明白了void main()
{
char *p1;
scanf("%s",&p1);
printf("%s",&p1);
}是能够正确执行的,scanf只是得到后面参数的地址,然后将输入的字符串写到对应的地址上,而不管你有没有在这个地址上定义一个变量,这里的&p1就是指针本身的地址,而printf也只是将指定地址的内容取出显示而已
{
char *p1;
scanf("%s",&p1);
printf("%s",&p1);
}是能够正确执行的,scanf只是得到后面参数的地址,然后将输入的字符串写到对应的地址上,而不管你有没有在这个地址上定义一个变量,这里的&p1就是指针本身的地址,而printf也只是将指定地址的内容取出显示而已
学习编程的秘诀是:编程,编程,再编程;