c中如何输入 随意长度字符串

来源:百度知道 编辑:UC知道 时间:2024/05/18 09:46:17
如何在c控制台下输入随意长度字符串

有没有办法获取输入字符串的首地址?
在控制台下输入的字符串在内存中应该是连续的吧
可以搞到这个字符串的首地址吗?

随意长度不可能,超出硬盘大小绝对会出错
#include<stdio.h>
#include<malloc.h>
void main(){
long n=1;
char *p;
p=(char*)malloc(sizeof(char)*n);
for(;;){
p[n-1]=getchar();
if(p[n-1]=='\n'){p[n-1]='\0';break;
}else{n++;
p=(char*)realloc(p,sizeof(char)*n);
}
}
}首地址为(int)p