如果switch语句在C++中这样写:
case 1:
printf("计算概论");
double book1 = 28.9;
total += book1;
break;
case 2:
printf("数据结构与算法");
double book2 = 32.7;
total += book2;
break;
case 3:
printf("数字逻辑");
double book3 = 45.6;
total += book3;
break;
case 4:
printf("C++程序设计教程");
double book4 = 78;
total += book4;
break;
程序会给出:note: jump bypasses variable initialization这样的报错;
这样的写法在C语言中是没问题的。
可是如果分开写:
case 1:
printf("计算概论");
double book1;
book1 = 28.9;
total += book1;
break;
case 2:
printf("数据结构与算法");
double book2;
book2 = 32.7;
total += book2;
break;
case 3:
printf("数字逻辑");
double book3;
book3 = 45.6;
total += book3;
break;
case 4:
printf("C++程序设计教程");
double book4;
book4 = 78;
total += book4;
break;