(pmenu+bianhao-1)->money=changemoney;什么意思
时间: 2024-03-30 09:36:44 浏览: 24
这行代码是对一个结构体数组中的某一个元素进行操作,具体含义如下:
- `pmenu`:结构体数组的名称,表示要操作的数组。
- `bianhao`:一个整型变量,表示要操作的结构体数组中的第几个元素。
- `-1`:由于数组下标是从0开始的,所以需要减去1,表示要操作的是数组中的第`bianhao-1`个元素。
- `money`:结构体中的一个成员变量,表示要对该元素中的`money`成员变量进行操作。
- `changemoney`:一个变量,表示要将该元素中的`money`成员变量设置为`changemoney`。
综合起来,该行代码的含义是:将结构体数组`pmenu`中的第`bianhao-1`个元素的`money`成员变量设置为`changemoney`。
相关问题
char *pname=&(pmenu+bianhao-1)->dishes_name;什么意思
这行代码定义了一个指向字符的指针`pname`,并将其初始化为结构体数组中的某个元素中的一个字符数组的地址。具体含义如下:
- `pname`:定义的指向字符的指针变量名。
- `pmenu`:结构体数组的名称,表示要操作的数组。
- `bianhao`:一个整型变量,表示要操作的结构体数组中的第几个元素。
- `-1`:由于数组下标是从0开始的,所以需要减去1,表示要操作的是数组中的第`bianhao-1`个元素。
- `dishes_name`:结构体中的一个成员变量,表示要获取该元素中的`dishes_name`成员变量的地址。
- `&`:取地址符号,表示获取成员变量`dishes_name`的地址。
- `->`:结构体成员访问符号,表示获取结构体成员变量的值。
综合起来,该行代码的含义是:将结构体数组`pmenu`中的第`bianhao-1`个元素的`dishes_name`成员变量的地址赋值给指针变量`pname`。这样,指针变量`pname`就指向了该成员变量所在的内存地址,可以通过该指针变量来访问该成员变量的值。
for(i=0;;i++) { scanf("%d,",&num[i]); if(num[i]==0) { break; } else { paymoney+=((pmenu+num[i]-1)->money); } }什么意思
这段代码是一个循环,它的作用是让用户输入他们想要点的菜品编号,并计算总的支付金额。
具体来说,循环中的变量i是一个计数器,用于记录用户输入的菜品数量。用户每输入一个菜品编号,它就会被存储在num数组的第i个元素中。如果用户输入了0,那么循环就会退出,表示用户已经输入完了所有的菜品。
在每次循环中,程序会读取用户输入的菜品编号,并将其存储在num数组中。然后,程序会检查编号是否为0。如果是0,表示用户输入完毕,循环会被打破。如果不是0,表示用户输入了一个有效的菜品编号,程序会使用该编号来计算该菜品的价格,并将其加入到总支付金额中。
计算每个菜品的价格使用了指针的概念。pmenu是一个指向菜单数据的指针,而(num[i]-1)则表示用户输入的菜品编号对应的菜品在数组中的下标。因此,表达式(pmenu+num[i]-1)就是指向该菜品数据的指针。该指针的money成员就是该菜品的价格,程序将其加入到总支付金额中。
最终,当用户输入完毕后,程序会输出总的支付金额。