而後面壹句if(flag),從再後面執行的程序(strcpy ......)來看,明顯的是刪除當前字符的語句,所以只能是當前字符不是英文字母時出現的操作,if語句的含義應該是if(不是英文字符)。
根據c語言對邏輯值的定義,假設當前字符是英文字符,前面是取值flag=1的,這時,不需要刪除動作,希望if條件不成立,這就要flag=0。
所以需要對flag進行壹次求非運算,flag =!flag 就行了(1變0,0變1)。
妳填的flag=-flag,0還是0(邏輯假);1變成-1,還是邏輯真,等於沒有變,所以是錯誤的。