问个简单的C语言题目
发布网友
发布时间:2023-02-14 11:30
我来回答
共3个回答
热心网友
时间:2023-10-02 02:21
编译器在编译q=(++j)+(++j)+(++j);这个语句时,先将前两个(++j)+(++j)中++j计算出来(完成后j=7),然后计算前两个i+i(结果为14);接着把第三个++j计算出来(完成后j=8),最后将14和8相加得22.
另外,正如楼上的朋友所说,不同的编译器有不同的处理方法。比如Turbo
C,是先将三个++j计算出来(结果为j=8),然后计算i+i+i(结果为18)。
望采纳。
热心网友
时间:2023-10-02 02:21
这个……
int ri, repeat; ri 是循环控制变量,repeat是重复运行次数
int choice; choice 是选择的
float price; 是价格
for(ri=1; ri<=repeat; ri++){
printf("[1] apples\n");
printf("[2] pears\n");
printf("[3] oranges\n");
printf("[4] grapes\n");
scanf("%d", &choice);
/*---------*/ 循环到这里应该是要将PRICE赋值为商品的价格了
printf("price=%0.2f\n", price);
}
可以填入:
price=(choice==1)*3+(choice==2)*2.50+(choice==3)*4.1+(choice==4)*10.2
修正BUG,呵呵,一时激动又写错了- -!
热心网友
时间:2023-10-02 02:22
switch (choice) {
case 1:price=3;break;
case 2:price=2.5;break;
case 3:price=4.1;break;
case 4:price=10.2;break;
default:price=0;
}
或者:
price=(choice==1)*3+(choice==2)*2.50+(choice==3)*4.1+(choice==4)*10.2;