杨学子 发表于 2013-12-19 16:55:57

不知道是哪里错了

file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\2273811622\QQ\WinTemp\RichOle\UYCL_M4Q%AN4VH89L`MBCI5.jpgfile:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\2273811622\QQ\WinTemp\RichOle\UYCL_M4Q%AN4VH89L`MBCI5.jpg

小亮1201 发表于 2013-12-19 17:19:55

类型不匹配!for语句中的类型一般为整型或者字符类型,而楼主用的是float类型,肯定会有警告咯。还有acos函数返回值也是double类型。而楼主用一个整型去接收,也会出现警告的。解决上面的问题楼主可以对类型进行强制类型转换。如:        m = (int)acos(y)*10;,最后,我不建议用double类型做循环变量。所以在楼主的基础上改成下面的代码。不知道所得到的结果是不是楼主想要的。代码仅供参考!#include <stdio.h>
#include <math.h>
#include <string.h>

#defineSIZE 62

int main(void)
{
        double y = 1;
        int x = 0;
        int m = 0;

        while (1)
        {
                m = (int)acos(y)*10;
                for (x=1; x<m; ++x)
                        printf(" ");
                printf("*");
                for(; x<SIZE-m; ++x)
                        printf(" ");
                printf("*\n");
                y -= 0.1;

                if (y < -1)
                {
                        break;
                }
        }
       
        return 0;
}

fengkai 发表于 2013-12-19 17:55:53

学习学习。。。。。。。。。。

杨学子 发表于 2013-12-19 17:56:02

小亮1201 发表于 2013-12-19 17:19 static/image/common/back.gif
类型不匹配!for语句中的类型一般为整型或者字符类型,而楼主用的是float类型,肯定会有警告咯。还有acos函 ...

哥们 谢谢不需要强制转为int型转了 就没有我要的效果了 你试试看

maomingkun 发表于 2013-12-19 18:40:53

for没加括号,很难看!

杨学子 发表于 2013-12-24 13:04:41

ryan0632 发表于 2013-12-23 19:06 static/image/common/back.gif
我是打酱油的,鱼C有你更精彩

那叫鱼哥给我个版主当当呗?
页: [1]
查看完整版本: 不知道是哪里错了