如果光是输入输出是很简单的,但是严格的不定长用C实现起来却不是这么容易,需要一个一个字符读入,然后动态分配内存。楼上的定义一个长度为1000的缓冲区严格意义不符合LZ的要求,超过1000个字符就不行了。
用C++倒是会很容易,stl的string模板类自己动态管理内存的:
#include
#include
using namespace std;
int main()
{
string str;
cin>>str; //多长都不会有问题,只要内存足够。
}
C:
#include
int main()
{
char string [256];
printf ("Insert your full address: ");
gets (string); // 输入
printf ("Your address is: %s\n",string); // 输出
return 0;
}
C++
#include
using namespace std;
int main () {
char name[256], title[256];
cout << "Enter your name: ";
cin.getline (name,256); // 输入
cout << "Enter your favourite movie: ";
cin.getline (title,256); // 输入
cout << name << "'s favourite movie is " << title; // 输出
return 0;
}
#include
#define MAXN 1000
char a[ MAXN ];
int main()
{
printf("请输入一串字符:\n");
while( gets(a) )
{
puts(a);
printf("请输入一串连续的字符:\n");
}
return 0;
}