#include <stdio.h> int main(void) { long num; long sum = 0L; int status; printf("Please enter an integer to be summed"); printf("(q to quit):"); status = scanf("%ld",&num); while (status == 1) { sum = sum + num; printf("Please enter next integer to be summed(q to quit):"); status = scanf("%ld",&num); } printf("Those integers sum to %ld.\n",sum); return 0 ; }
scanf返回值:如果成功,該函數返回成功匹配和賦值的個數。如果到達文件末尾或發生讀錯誤,則返回 EOF。
while循環的判斷是status,當輸入的不是數字類型時,scanf會讀取失敗返回0。