您的位置:首页 > 编程语言 > C语言/C++

C语言实现用户输入

2016-05-06 22:48 453 查看
用户输入一个字符串然后回车表示结束。因为用户在输入的过程中长度是不确定的,所以要求自己使用的循环写的更好。在这里自己写了一个代码,效率不高,相对来说如果能模拟出C++中的vector向量可能会好一些。

#include <stdio.h>
#include <string.h>
#include <string>
#include <stdlib.h>

char *S,*temp;
int main(){
int length = 0;
/*仅仅给S分配一个内存空间*/
temp=S=(char*)calloc(1,sizeof(char));
while(scanf("%c",S+length)){
if(*(S+length)!='\n'){
length++;
/*对其重新分配一个比以前多一个的空间*/
S=(char*)calloc(length+1,sizeof(char));
for(int i = 0;i < length; i++){
S[i]=temp[i];
}
///要将原来的那个空间释放掉
free(temp);
temp=S;
}else {
break;
}
}
for(int i = 0;i <= length;i++){
printf("%c",*(S+i));
}
free(S);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: