该代码的输出结果为 **C: 10**。下面是详细的分析:
```python
a = 3
def sum_a(a, b):
return a + b
print(sum_a(a, 7))
```
1. **变量赋值**:
- `a = 3`:在全局作用域中,变量`a`被赋值为3。
2. **函数定义**:
- `def sum_a(a, b): return a + b`:定义了一个函数`sum_a`,它接受两个参数`a`和`b`,并返回它们的和。
3. **函数调用**:
- `print(sum_a(a, 7))`:调用`sum_a`函数,并传入两个参数`a`(其值为3)和7。
- 在函数`sum_a`内部,参数`a`(函数参数)会覆盖全局变量`a`的值,所以在函数内部,`a`采用的是函数调用时传入的值,即3,而不是全局的变量`a`。
4. **返回值计算**:
- 函数内部执行`return a + b`,即返回`3 + 7`的结果。
5. **输出**:
- `print`语句输出函数`sum_a`的返回值,结果为10。
因此,正确答案是 **C: 10**。