C語言筆記-探索goto 善用goto

goto在很多交科書上都是建議大家不要使用,不過善用goto可以讓函數更加優雅:

double sum_to_first_nan(double *vector,int vector_size,

                        double *vector2,int vector2_size,int *error)

{
 double sum=0;
 *error=1;
 for(int i=0;i<vector_size;i++)
 {
  if(isnan(vector[i]))
   goto outro;
  sum+=vector[i]; 
 }
 for(int i=0;i<vector2_size;i++)
 {
  if(isnan(vector2[i]))
   goto outro;
  sum+=vector2[i]; 
 }
 *error=0;
outro: 
 printf("the sum until the first nan was:%g\n",sum);
 free(vector);
 free(vector2);
 return sum;          
}




此文章內容參考"21 century c"一書,在此做筆記
如須刪除請告知 謝謝

留言

這個網誌中的熱門文章

FreeRTOS學習筆記 (二)-任務創建和刪除(xTaskCreate及vTaskDelete)

FreeRTOS學習筆記 (三)-時間管理vTaskDelay()及vTaskDelayUntil()

C語言筆記-文本處理(1) 善用 asprintf取代sprintf