設int arr[]={6,7,8,9,10};
int *ptr=arr;
*(ptr++)+=123;
printf("%d,%d",*ptr,*(++ptr));
答案是:8,8
分析:
*(ptr++)+=123;
解釋爲:*(ptr++)=*(ptr++)+123 //數組第一個元素變爲6+123
然後prt++ 指向7
printf("%d,%d",*ptr,*(++ptr));
只能解釋爲 printf函數從右到左開始處理,所以答案都是8,8
設int arr[]={6,7,8,9,10};
int *ptr=arr;
*(ptr++)+=123;
printf("%d,%d",*ptr,*(++ptr));
答案是:8,8
分析:
*(ptr++)+=123;
解釋爲:*(ptr++)=*(ptr++)+123 //數組第一個元素變爲6+123
然後prt++ 指向7
printf("%d,%d",*ptr,*(++ptr));
只能解釋爲 printf函數從右到左開始處理,所以答案都是8,8
文件名稱:copy_system.c#include <unistd.h>#include <sys/stat.h>#include <fcntl.h