c语言关于putchar输出

#include<stdio.h>int main(void){ int ch; while((ch = getchar() != EOF)) putchar(ch); return 0;}很简单的代码,但输出不对,输出见图片,总是输出不了字母,输出的是一个个方块,不知道为什么,求大神明惑。

问题出在while((ch = getchar() != EOF))语句;!=运算级别高于=,所以会先进行getchar()!=EOF运算,再将运算结果赋值给ch,因而ch的值只能是0或1;纠正的办法:

while((ch = getchar() )!= EOF)

用括号给变运算符优先级,将ch=getchar()括起来。

另外,EOF是字符串的结束符号,因而,只做上述改动,程序会陷入死循环。所以指定一个结束标志使循环结束:

while((ch = getchar() != '\n'))

经过这样的修改,程序运行就没问题了。

完整的程序如下:

#include<stdio.h>

#include<string.h>

int main()

{

int ch;

while((ch = getchar())!='\n')

putchar(ch);

putchar('\n');

return 0;

}

结果:

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-08-03
// 你括号顺序有问题

while((ch = getchar()) != EOF)

第2个回答  2021-03-16

putchar的用法
putchar是C语言中的一个标准库函数,用于输出一个字符到标准输出流(通常是控制台窗口)。其函数原型如下:int putchar(int c);putchar函数接受一个整数参数c,将其作为要输出的字符。如果c是换行符('\\n'),则putchar会输出一个换行符,并刷新标准输出流。如果c是回车符('\\r'),则putchar会...

putchar()在c语言中是什么意思
putchar()是c语言中的一个函数,功能是向终端输出一个字符。putchar()函数包含在C 标准库 中。其输出可以是一个字符,可以是介于0~127之间的一个十进制整型数(包含0和127),也可以是用char定义好的一个字符型变量。语法结构为:int putchar(int char),可以把参数char指定的字符(一个无符号字符...

C语言:putchar函数可以输出什么,
详情请查看视频回答

putchar是什么意思
putchar是C语言中的一个函数,用于向标准输出流(通常指显示器)输出一个字符。putchar能够很方便地输出单个字符,比如用于在控制台上输出程序运行的结果或提示信息。在使用putchar函数时,只需要在函数中填写要输出的字符即可。putchar是一个常用的输出函数,在C语言的编程中使用频率较高。putchar函数在C...

putchar在c语言中用法
在C语言中,getchar函数是字符输入函数,putchar代表是单个字符输出函数。1、getchar()函数的用法:char a=getchar()。作用是从计算机终端(一般为键盘)输入一个字符。getchar()函数只能接收一个字符,其函数值就是从输入设备得到的字符。2、putchar()函数的用法:intputchar(intch)。作用是向终端...

C语言:putchar函数只能输出单个字符吗?字符类型的变量只能赋值一个字...
字符类型的变量只能存储一个字符常量(0-127以内的整型也行,会自动转换为ASCII码存储)。putchar函数只能输出单个字符。eg:main(){ char ch1,ch2; ch1='a'; ch2=65; putchar(ch1); putchar(ch2);}\/\/ 输出结果为:aA

putchar可以输出几个字符
1个。函数的设计初衷就是输出单个字符,只能输出一个字符,putchar函数属于C语言的标准库函数,它的作用是将指定的字符输出到stdout(标准输出流),这个函数接受一个参数,即要输出的字符,并将其写入到stdout中。

关于C语言putchar函数的表示:putchar("||\\n"[i++])
putchar是字符输出函数,每次只能输出一个字符。如:putchar('a'); \/\/ 输出字符'a'putchar('abc'); \/\/ 输出字符'c' ,多个字符时输出最后一个字符 '\\n'是一个转义字符 在C语言中,以反斜杠开头,后跟一个字符或一个数字序列来表示一个字符量,称为转义字符。主要有以下三种形式:1、反...

c语言中关于字符的输入输出问题。 我想知道输入scanf(%c,a[i...
putchar 函数是字符输出函数, 其功能是在显示器上输出单个字符。getchar函数的功能是从键盘上输入一个字符。 函数只能接受单个字符,输入数字也按字符处理。输入多于一个字符时,只接收第一个字符。printf 函数称为格式输出函数.一般形式为:printf(“格式控制字符串”,输出表列)scanf 函数在本质上也是...

C语言求救(请详细些,谢谢): putchar()函数可以向终端输出一个___。 A...
putchar()想终端输入字符或字符型变量值。这是函数的声明:int putchar(int c );函数需要一个int型变量作为参数,作用是写一个字符到标准输出上。例如:putchar(49) ,则会输出字符'1',因为字符'1'的ASCII码为49。

相似回答