一个用函数打印图形的问题 运行结果出现错误 请大家看了以后解答 谢谢

Mike.hjxs 发布于 2011/10/19 10:34
阅读 169
收藏 0

我编的程序如下:

#include<stdio.h>
int picture(int);

int main(void)
{
    int x;

    printf("请输入正方形的边长:",x);
    scanf("%d",&x);
    printf("正方形的图形为\n",picture(x));
    return 0;

}
  int  picture(int side)
    {
        int i,j;
        for(j=1;j<=side;j++)
        {
            for(i=1;i<=side;i++)
            {
                printf("*");
            }
        }
        return picture(side);
    } 
程序出现的结果为无限循环的*号
加载中
0
鉴客
鉴客
你在執行 picture 之前,先把 x 值打印出來看看!
0
goodluck
goodluck

1. 输出完一行怎么也得有个换行啊

2. 竟然最后还来个递归调用?啥意思?

0
goodluck
goodluck
#include<stdio.h>
void picture(int);

int main(void)
{
    int x;

    printf("请输入正方形的边长:",x);
    scanf("%d",&x);
    printf("正方形的图形为\n");
    picture(x);
    return 0;

}
 void  picture(int side)
    {
        int i,j;
        for(j=1;j<=side;j++)
        {
            for(i=1;i<=side;i++)
            {
                printf("*");
            }
            printf("\n");
        }
    } 
0
goodluck
goodluck

终于遇到个介么简单个程序,我也能回答了

楼主刚学C语言?

Mike.hjxs
Mike.hjxs
是呀 算是刚学 谢谢啊
0
开心Nemo
开心Nemo

你递归调用,当然无限循环了。不知道picture函数return的值什么含义,你想return什么呢?

把picture()里最后一句return后面的picture去掉,再修改程你想return的值就好了。

返回顶部
顶部