C语言 putchar()问题。
{intc1=getchar(),c2=getchar();//charc1=getchar(),c2=getchar();//getchar();getchar();/...
{
int c1=getchar(),c2=getchar();
//char c1=getchar(),c2=getchar();
//getchar();getchar();
//putchar(c1);putchar(c2);putchar('\n');
putchar('c1');putchar('c2');putchar('\n');
//printf("c1=%c,c2=%c\n",c1,c2);
//printf("c1=%d,c2=%d\n",c1,c2);
}
输出结果为12,改c1c2为c3c4,则结果改为34,这是为何? 展开
int c1=getchar(),c2=getchar();
//char c1=getchar(),c2=getchar();
//getchar();getchar();
//putchar(c1);putchar(c2);putchar('\n');
putchar('c1');putchar('c2');putchar('\n');
//printf("c1=%c,c2=%c\n",c1,c2);
//printf("c1=%d,c2=%d\n",c1,c2);
}
输出结果为12,改c1c2为c3c4,则结果改为34,这是为何? 展开
4个回答
展开全部
你不明白什么是字符变量,字符变量存储数值在C语言中的表现形式。'c1'是值(当然,这个值是非法的,因为一个字符变量只能存储一个字符),c1(不带引号)是变量,变量存储的是值(带引号)。
putchar的函数参数只能是一个字符,你的程序中'c1'并不是一个字符。程序会忽略c,只输出'1',实际上等同putchar('1');,所以你改为c3,c4就相当于putchar('3');putchar('4');就输出34。
你想输出c1的值就不能加引号,改为putchar(c1);
还有,为了保持数据的一致,应该将变量c1和c2定义为字符型数据:char c1=getchar(),c2=getchar();
putchar的函数参数只能是一个字符,你的程序中'c1'并不是一个字符。程序会忽略c,只输出'1',实际上等同putchar('1');,所以你改为c3,c4就相当于putchar('3');putchar('4');就输出34。
你想输出c1的值就不能加引号,改为putchar(c1);
还有,为了保持数据的一致,应该将变量c1和c2定义为字符型数据:char c1=getchar(),c2=getchar();
展开全部
putchar()函数一次只能输出一个字符,同时‘c1'不是变量,是字符常量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的putchar('c1'),打出的肯定不是变量c1的字符。至于输出可能是这样的,
putchar('c1');putchar('c2'); 输出了 12
putchar('c3');putchar('c4'); 输出了 34
只输出了数字。。。至于 为什么 ,这个不清楚
putchar('c1');putchar('c2'); 输出了 12
putchar('c3');putchar('c4'); 输出了 34
只输出了数字。。。至于 为什么 ,这个不清楚
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我郁闷了,你这些结果是怎么得出来的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |