将一个值的地址通过参数传入函数,然后在函数中通过*指针来进行修改,相当于对原值进行直接修改,可以对原值进行修改 scanf遇到空白字符(空格,Tab,回车)就会认为是输入结束 printf遇到\0就会认为是输出结束
gets遇到回车才会认为是输入结束
scanf不读走空格,回车,而是留在缓冲区中 gets将回车作为结束标志,不显示回车,但是会将回车读走 scanf如果遇到不对的字符,不会将这个不对的字符读走,而是留在缓冲区
gets将回车读走,但是scanf不会将回车读走,而是留在缓冲区,所以需要scanf(" ")来将空白字符给读走,等价于scanf(" %c");
从内存和存储空间的角度来理解指针 指针一般用于参数传递,改变无法改变的值
fgets,防止数组越界