// 使用逗号运算符执行多个操作 int result = (a > b) ? (printf("a > b, "), a) : (printf("a <= b, "), b); // 输出: "a <= b, " // result = 10 printf("结果: %d\n", result);
// 更复杂的例子 int max = (a > b) ? ((printf("比较a和c: "), a > c) ? a : c) : //如果 a > b 为假: // 1. 执行逗号表达式 (printf("比较b和c: "), b > c) // - 先输出"比较b和c: " // - 再计算 b > c,这个结果作为表达式的值 0 (假)或 1(真) // 2. 根据 b > c 的结果: // - 如果 b > c 为真,max = b // - 如果 b > c 为假,max = c ((printf("比较b和c: "), b > c) ? b : c);
for (int i = 1; i <= 10; i++) { if (i == 5) break; // 触发条件,终止循环 printf("i = %d\n", i); } // break示例输出: // i = 1 // i = 2 // i = 3 // i = 4
// continue:跳过偶数,仅执行奇数的打印
for (int i = 1; i <= 10; i++) { if (i % 2 == 0) continue; // 跳过本次循环后续代码,进入下一次循环 printf("i = %d\n", i); } // continue示例输出: // i = 1 // i = 3 // i = 5 // i = 7 // i = 9
// goto:通过标签跳转实现循环(谨慎使用) int num = 1; loop: // 定义循环开始标签 if (num > 5) goto end; // 满足条件则跳转到结束标签 printf("num = %d\n", num); num++; goto loop; // 跳回循环开始标签 end: // 定义循环结束标签 printf("循环结束\n"); // num = 1 // num = 2 // num = 3 // num = 4 // num = 5 // 循环结束