有以下程序#inc1udemain(){char*s={"ABC"}; do {printf("%d",*s%10);s++; }while(*s);
有以下程序 #inc1ude<stdio.h> main() { char*s={"ABC"}; do { printf("%d",*s%10); s++; } while(*s); } 注意字母A的ASCII碼值為65。程序運行后的輸出結果是______。
A.5670
B.656667
C.567
D.ABC
正確答案:C解析:本題考查的是do-while語句的使用,do-while執(zhí)行的過程是當while后面—對括號中表達式的值為非0時,轉去執(zhí)行循環(huán)體,當值為0時,退出循環(huán)。本題定義了—個指針變量s,并使得s指向字符串"ABC",的首地址,即把字符A的地址賦給s,因為do-while語句是先執(zhí)行循環(huán)體再進行循環(huán)條件的判斷,因此先執(zhí)行printf語句,“s%10”是s對10的取模運算,第—字符A的ASCII碼為65,故“65%10”取模運算結果為5,因此輸出5,接著執(zhí)行s++,s指向字符串的下—個字符,當字符串中字符
詞條內容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學等領域),建議您咨詢相關領域專業(yè)人士。