在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/C/ C語言單鏈表,為什么引用過后值會發(fā)生改變?

C語言單鏈表,為什么引用過后值會發(fā)生改變?

  printf("data = %d\n",head->next->data);
  printf("data = %d\n",head->data);
  printf("data = %d\n",head->next->data);

主函數(shù)上連續(xù)printf,中間沒任何操作,但是打印出來的值發(fā)生了改變。

clipboard.png

回答
編輯回答
尐潴豬
感覺離segment fault只有一步之遙了。

head->next真的是個有效的指針嗎?是不是已經(jīng)被free過了?或者沒初始化?野指針會帶出什么來誰也不知道。printf不是沒有副作用的,它會開辟一段緩沖區(qū)拼接字符串。head->next有可能指到那里去了。

2017年12月30日 04:56
編輯回答
賤人曾

完整程序放上來吧,現(xiàn)有程序完全無法定位問題原因。

2018年3月9日 01:55