char a[100]; scanf("%s",&a); 或 char a[100]; gets(a);
C没有提供现成的办法,要自己写一段代码实现,具体是:先动态申请一块内存空间,比30字节,向其中输入数据,等到输入满时再申请另一块比30大20或30的内存空间,把前面申请的内存中的内容全部拷贝到新申请的内存中并把前面申请的空间释放。如此往复交替……...
C中接收输入的有getchar()和scanf(),getchar是获取单个字符的,如换行,空格等。如果是一个串的话,用scanf吧,这个函数的用法,你可以百度,解释比较详尽。