goto:無條件轉移break:跳出 switch 或本層循環continue:結束本次循環,進入下一次判斷return:從函數返回(詳函數章)
goto 標號;
標號: 語句; // 標號為標識符 + 冒號
if 實現條件轉移、構建循環、跳出循環
void main() {
int n=0;
printf("input a string\n");
loop:
if (getchar() != '\n') {
n++;
goto loop;
}
printf("%d", n);
}
switch 或循環(for/while/do-while)
for (n=7; n<=100; n++) {
if (n%7 != 0) continue;
printf("%d ", n);
}
void main() {
char a,b;
b = getchar();
while ((a=getchar()) != '\n') {
if (a == b) {
printf("same character\n");
break;
}
b = a;
}
}
#include
void main() {
int n,i,k;
for (n=2; n<=100; n+=2) { // 偶數跳過(但 2 是質數!此處邏輯有誤,應從 3 開始步長 2)
k = sqrt(n);
for (i=2; i= k) printf("%2d", n);
}
}
修正: 質數判斷應從 2 開始,或特殊處理 2,奇數步長 2。