半个新人 C语言 输入一篇文章 或 输入一个带 “回车” 的字符串 难题
大家好,小弟我不是计算机专业的,业余里有兴趣研究一下计算机,学一下C语言,也不算新新手了。但是是变成论坛的新人。一直有个问题。
想用一个字符串数组存储一篇文章,有包含回车、空格等…
根据我自己的知识…用scanf感觉是不行的,因为scanf虽然可以用[^t]屏蔽空格,但是遇到回车就行了,他会自动结束输入。
感觉getchar可以,因为getchar是遇到EOF才结束的。
所以写了一段代码。
程序代码:
#include <stdio.h> main(){ int MAX=100; int psg[MAX]; int i; i=0; do{ psg[i]=getchar(); i++; }while(psg[i-1]!=EOF); printf("%s",psg); return 0; }
编译没问题。
运行后就不行了,输入完后,按Ctrl+C结束(不知道为什么,我电脑按Ctrl Z/D不能结束,所以一个一个按,方向C可以,),什么都没输出。如果在printf("%s",psg);那边设置断点的,程序崩溃,并且根据编译器提示,psg里面也根本就不是我输入的东西。
如图:
网上找了很多资料,都没有这方面的内容。似乎C语言无法完成对一篇文章的输入啊…