关于printf和scanf的理解
一 . 关于printf
原型
int printf(const char * p,...);
1. 返回值
- printf的返回值就是输出的长度
#include<stdio.h>
int main(int argc,char *argv[])
{
int m=printf("lele\n");
printf("%d\n",m);
}
2. 执行的顺序
- printf的执行顺序是从右往左执行
#include<stdio.h>
int main(int argc,char* argv[])
{
printf("%d\n",printf("Xiyou Linux Group2%d",printf("")));
}
结果为:
- 原因:
- printf的执行顺序是从右往左执行的
- printf("");//输出,返回输出的长度0
- printf(“Xiyou Linux Group20”);//输出,返回输出的长度19
- printf("%d\n",19);//输出19,返回输出的长度3(1 9 \n)
int f(int a, int b, int c)
{
return 0;
}
int main(){
return f(printf("a"),printf("b"),printf("c"));
}