图1是我自己写的代码。
图2是老师的代码。
程序是为了实现指针变量值能按大小输出。
对比了老师的代码,发现自己好像写的不是很规范,也好像不对的样子…请问大佬们…这样书写可以吗?
并不是不规范的问题,你子程序写法只能在子程序中输出正确的数据,而在主函数中无法得到交换过的x和y的值。参考程序运用指针让子程序去读写a和b的值,在子程序执行完成后,a和b的值确实得到了交换。
你的程序中子程序采用的不是指针类型参数,这样子程序无法将交换过后的值传回来。
一些建议:
zhizhen函数声明应该放在main()外面,并且是在main()前面,因为C语言是顺序执行,执行main()前它必须要知道zhizhen这个函数已经存在;
实际上你的zhizhen函数执行完了,a和b并不会交换。因为参数不是指针时,传入的只是一个值,是一个副本,对于main里的ab并没有影响,而你这个看起来结果相同是因为你的输出printf写在了zhizhen里。一般学习指针就是要让你知道指针对外部的影响。
尽量不要用拼音作为函数名,变量名。
指针还需要继续加深,数据都是存储在内存中,指针*p取的是里面的数据,就是值,而指针的地址就是p是取的地址。