读书人

C语言输入输出的有关问题

发布时间: 2012-02-09 18:22:27 作者: rapoo

C语言输入输出的问题
遇到下面一个程序

#include <stdio.h>

void main(void)
{

int i;
char c;
for(i=0;i<5;i++)
{
scanf("%c",&c);
printf("c=%c,\n",c);
printf("i=%d,\n",i);

}

getchar();
exit(0);
}



我分别键入: x+enter y+enter z+enter
结果:
x
c=x,
i=0,
c=
,
i=1,
y
c=y,
i=2,
c=
,
i=3,
z
c=z,
i=4,


如果稍微修改下

#include <stdio.h>

void main(void)
{

int i;
char c;
for(i=0;i<5;i++)
{
scanf("%c",&c);
printf("c=%d\n",c);
printf("i=%d,\n",i);

}

getchar();
exit(0);
}

同样我输入:x+enter y+enter z+enter
结果:
x
c=120,
i=0,
c=10,
i=1,
y
c=121,
i=2,
c=10,
i=3,
z
c=122,
i=4,

[解决办法]

C/C++ code
#include   <stdio.h> void   main(void) {     int   i;     char   c;         for(i=0;i <5;i++)     {         scanf( "%c ",&c);                    printf( "c=%c,\n ",c);    //这里是以字符形式输出//              printf( "c=%d,\n ",c);    //这里是将字符以整形输出(字符的10进制)        printf( "i=%d,\n ",i);     }     getchar();     exit(0); }
[解决办法]
>>这样就正常了 不过 scanf 不是很好用啊 没想到可以用来处理字符串
-------------------------------------------------
int scanf(const char *format, arg_list):格式化输入函数
int getchar(void):从标准输入流读取一个字符并回显,读到回车符时退出

读书人网 >C语言

热点推荐