为了账号安全,请及时绑定邮箱和手机立即绑定

为什么输出结果为“asd 的运算结果为不可以算出” 跪求原因!

#include <stdio.h>
int asd (int x,int y,int z)
{
 
int sum=x+y+z;
  return sum/3;
}
void asdf (int x,int y,int z)
{
printf("不可以算出");
 
}
int main ()
{
  int a,b,c;
a=10;
  b=20;
  c=30;
  printf("asd 的运算结果为",asd(a,b,c));


  asdf(a,b,c);
  return 0;
}


正在回答

4 回答

//看下面程序及注释

#include <stdio.h>
int asd (int x,int y,int z)   //这边定义了一个asd的求和函数,但返回了其值的3分之1(‘/’相除取整)
{
  
int sum=x+y+z;
  return sum/3;
}
void asdf (int x,int y,int z)   //asdf只是达到一个打印“不可以算出的目的”
{
printf("不可以算出");
  
}
int main ()
{
  int a,b,c;
a=10;
  b=20;
  c=30;
  printf("asd 的运算结果为%d\n",asd(a,b,c));   //这里应加格式占位符%,才能达到对函数asd的正确调用,一般加                                                                            换行符/n可以优化输出效果


  asdf(a,b,c);   //因为调用了函数asdf。所以会打印“不可以算出”
  return 0;

0 回复 有任何疑惑可以回复我~

倒数第五行代码改为: printf("asd 的运算结果为%d",asd(a,b,c));

%d是输出格式,输出时会用asd(a,b,c)替换的,没有%d的话就会只输出字符串“asd的运算结果为”,
再加上后面调用的asdf(a,b,c)方法必定输出的字符串“不可以算出”,就成了你看到的结果。

修改后的输出结果为“asd的运算结果为20不可以算出”,

这代码还需要改进啊

0 回复 有任何疑惑可以回复我~

  printf("asd 的运算结果为%d",asd(a,b,c));

0 回复 有任何疑惑可以回复我~

  printf("asd 的运算结果为",asd(a,b,c));

这句话没有输出的对象

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么输出结果为“asd 的运算结果为不可以算出” 跪求原因!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信