本题考查函数的返回值和默认形参。题中的函数有一个默认参数, 但是在调用该函数的时候,没有给该参数传参, 则该参数就会使用默认值, 即func(3, 4)返回值是3+4-1=6, 然后6+1=7, 所以a的值是7, 故选B。
要分析这段代码的输出结果,我们需要逐步理解代码的执行过程。
1. 函数定义:`def func(a, b, c=1): return a+b-c`
这个函数 `func` 接受三个参数 `a`、`b` 和 `c`,其中 `c` 有一个默认值为 `1`。函数的返回值是 `a + b - c`。
2. 函数调用:`a = func(3, 4) + 1`
- 在这里,`func` 函数被调用时,传入的参数为 `3` 和 `4`,而参数 `c` 没有被显式传入,因此使用默认值 `1`。
- 函数执行 `a + b - c`,即 `3 + 4 - 1`,结果为 `6`。
3. 表达式计算:`a = 6 + 1`
- 计算结果为 `7`。
因此,变量 `a` 的值为 `7`。所以,代码的输出结果是 `7`。
正确答案是:B: 7。