#include<stdio.h>
int main()
{
int i=0,*p,k=0;
char a[9];
gets(a);
for(k=0;k<9;k++)
if (a[k]==' ')
i++;
p=&i;
printf("%d\n",*p);
}
此函数用于统计 输入空格 的总个数
gets(a);改成scanf("%s",a)就运行错误,计算不出来
改后的如下
#include<stdio.h>
int main()
{
int i=0,*p,k=0;
char a[9];
scanf("%s",a);
for(k=0;k<9;k++)
if (a[k]==' ')
i++;
p=&i;
printf("%d\n",*p);
}
第1个回答 2013-06-04
scanf只能读入一个单词,即去掉前边空格,然后读到下个空格
其他的字符就不要了
不如你
定义一个
char ch;
然后ch=getchar();
然后把ch赋值给数组每个元素本回答被提问者采纳
其他的字符就不要了
不如你
定义一个
char ch;
然后ch=getchar();
然后把ch赋值给数组每个元素本回答被提问者采纳
第2个回答 2013-06-04
因为用scanf的话,输入空格就表示你输入完毕,所以后边的就没有存进去。
第3个回答 2013-06-04
#include <stdio.h>
int main(int argc, char** argv)
{
char a[30];
scanf("%[^\n]s",a);//这样就行了
printf("%s\n", a);
return 0;
}
int main(int argc, char** argv)
{
char a[30];
scanf("%[^\n]s",a);//这样就行了
printf("%s\n", a);
return 0;
}
第4个回答 2013-06-04
再看看gets() 和 scanf("%s",a)的概念吧,好好掌握
第5个回答 2013-06-04
scanf不能输入空格,fgets可以