注册 登录
编程论坛 C语言论坛

高手帮忙看下这个程序 感觉没什么问题 为什么结果不是期望的 谢谢

cman147 发布于 2020-03-29 17:50, 2604 次点击
只有本站会员才能查看附件,请 登录


/*设计一个函数 chline(ch,i,j),打印指定的字符j行i列*/

#include <stdio.h>

void chline(char ch,int row,int col);

int main(void)
{
    char c;
    int i,j;
   
    printf("pls输入需要打印的字符\n");
    scanf(" %c",&c);
    printf("pls输入需要打印的行数,列数\n");
    scanf("%d %d",&j,&i);
   
    chline(c,j,i);
   
    return 0;
 }
  
 void chline(char ch,int row,int col)
   {
      
       for(int m=0;m<row;row++)
          {
          for(int n=0;n<col;col++)
          printf("%c",ch);
        printf("\n");
        }
        return;
    }

[此贴子已经被作者于2020-3-29 17:53编辑过]

8 回复
#2
forever742020-03-29 18:29
这程序符合我对你的期望。
#3
cman1472020-03-29 19:30
回复 2楼 forever74
你好  能帮忙看下  程序哪边出问题了吗  谢谢
#4
hbccc2020-03-29 20:04
row++? col++?
没有这样用的呀,应该是m++,n++
#5
chxchxkkk2020-03-29 20:05
1.scanf(" %c",&c);  => scanf("%c", &c); %c前面不要有空格
2.scanf("%d %d",&j,&i); =>  scanf("%d%d",&j,&i); %d之间也不要有空格
3.for(int m=0;m<row;row++)  => row++ 改为 m++
          {
          for(int n=0;n<col;col++) => col++ 改为 n++
#6
cman1472020-03-29 20:56
回复 4楼 hbccc
厉害  谢谢
#7
cman1472020-03-29 20:56
回复 5楼 chxchxkkk
谢谢
#8
lin51616782020-03-29 23:58
以下是引用chxchxkkk在2020-3-29 20:05:14的发言:

1.scanf(" %c",&c);  => scanf("%c", &c); %c前面不要有空格
2.scanf("%d %d",&j,&i); =>  scanf("%d%d",&j,&i); %d之间也不要有空格
3.for(int m=0;m<row;row++)  => row++ 改为 m++
          {
          for(int n=0;n<col;col++) => col++ 改为 n++

第一点你说错了 这个%c前面加空格是对的
用于过滤非空字符
#9
lin51616782020-03-29 23:59
以下是引用chxchxkkk在2020-3-29 20:05:14的发言:

1.scanf(" %c",&c);  => scanf("%c", &c); %c前面不要有空格
2.scanf("%d %d",&j,&i); =>  scanf("%d%d",&j,&i); %d之间也不要有空格
3.for(int m=0;m<row;row++)  => row++ 改为 m++
          {
          for(int n=0;n<col;col++) => col++ 改为 n++

2个%d中间 有没有空格都是合理的
1