本文共 556 字,大约阅读时间需要 1 分钟。
int a[100]={0};
int left=0;
int length=0; do{ scanf("%d",&a[length++]);}while(getchar()!='\n');
min(a,left,length-1);scanf遇到空格符就认为数据的接收已经结束了,这个空格符包括空格本身和换行符
所以这里加上do while循环的意思就是可以循环接收一系列数据,当输入为\n时结束该循环。
所以,如果输入是:1空格2空格3空格,那么代表输入空格之后代表本次输入结束,进入下一层循环。
如果题目要求中间是有空格输入,使用这种方式接收
如果是接收字符串可以这么写:
getchar遇到空格会当作是一个字符进行接收,不会认为结束,当遇到\n时才认为结束
int main()
{ char a[100]; int i=0;while((a[i++]=getchar())!='\n');
printf("%d",i); return 0; }如果是输入连续的一串字符串,用一个字符型数组接收,可以使用:
int main()
{ char a[100]; int i=0; gets(a); int x=strlen(a); printf("%s\n%d",a,x); return 0; }
转载地址:http://jwbab.baihongyu.com/