C语言混合数值和字符输入简单介绍

/*通过读入一个字符和两个数字,然后打印字符的行数,列数*/
#include 

void display(char ch,int lines,int width);

int main(void)
{

    int ch;         /*字符*/

    int rows,cols; /*行和列*/

    printf("请输入一个字符和两个数字:\n");


    while((ch=getchar())!='\n')
    {
        if(scanf("%d %d",&rows,&cols)!=2)
            break;
        display(ch,rows,cols);

        while(getchar()!='\n')
            continue;

        printf("请输入另一个字符和两个数字:\n");
        printf("输入新的一行退出.\n");
    }

    printf("再见.\n");

    return 0;
}


void display(char ch,int lines,int width)
{
    int row,col;

    for(row=1;row<=lines;row++)
    {
        for(col=1;col<=width;col++)

            putchar(ch);

            putchar('\n');
    }
}

由上面代码来一一解释一下:

  1. **上面代码使用了display()函数
  2. row和col是只属于display的循环控制变量
  3. display(ch,rows,cols)时,相当于将rows的值作为lines,cols作为width,传递参数。
  4. 他是一个显示输出函数
  5. 用法:void display()

while(getchar()!=’\n’)因为getchar()不会跳过换行符,所以必须解决这个问题,也包括跳过下一轮输入的所有换行符和空格。
int ch 这样可以检测EOF,在上一章博文有详细解释,但是他能够以char类型把字符传递给display函数**

你可能感兴趣的:(C语言成长之路)