首页 > 解决方案 > 关于 C 函数

问题描述

#include<stdio.h>

int add(int x,int y,int z){
    return x+z+y;
}
int main(){
    float w = printf("%d\n", add(40, 40, 55));
    printf("%f",w);
    return 0;
}

谁能解释 'w' 的值为 4 吗?

标签: c

解决方案


来自printf

返回值

成功返回后,这些函数返回打印的字符数(不包括用于结束输出到字符串的空字节)。

在您的示例中,您的printf打印件135和 '\n'因此给出4

尝试不同的变化,看看

float w=printf("%d\n",add(40,40,55));
printf("%f\n",w);

 w=printf("%d\n",add(40,0,5));
printf("%f\n",w);

 w=printf("%d\n",add(0,0,5));
printf("%f\n",w);

在一个完全不同的音符上w应该是int


推荐阅读