鱼C论坛

 找回密码
 立即注册
查看: 3872|回复: 4

为什么会出现这样的情况?进.....

[复制链接]
发表于 2013-4-2 22:00:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
输入一个整数开根不是整数的时候怎么总是后面出现一个22呢?
代码如下:
  1. #include<stdio.h>

  2. void main()
  3. {
  4.         int sqrt(int x);
  5.         int a,m;
  6.         printf("请输入一个数,计算开方:\n");
  7.         scanf("%d",&a);
  8.         m=sqrt(a);
  9.         printf("%d\n",m);
  10. }

  11. int sqrt(int x)
  12. {
  13.         int i,k;
  14.         for(i=1;i<=x;i++)
  15.         {
  16.                 if(i*i==x)
  17.                 {
  18.                         return (i);
  19.                 }
  20.         }
  21.         if(i>x)
  22.         {
  23.                 printf("您输入的数没有整数解!\n");
  24.         }
  25. }
复制代码


小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-2 22:54:31 | 显示全部楼层
因为你的函数返回是int型,如果没有整数解的话,你的函数没有返回值,就出现了问题
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-2 22:59:19 | 显示全部楼层
当无解时,m还是要打印的。
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-8 13:01:55 | 显示全部楼层
sqrt 返回的是printf函数的返回值,集打印char的个数 22
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2013-4-8 13:04:54 | 显示全部楼层
嘿嘿!楼上正解。
小甲鱼最新课程 -> https://ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-4 15:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表