切记scanf再输入字符的时候遇到空格是认为结束的,若有空格请用gets输入
2014-08-31 15:43
246 查看
//但是你输入的是整数的时候,它不会吧空格识别为结束符
/* 给某个单词定位,并输出他的位置--------------*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
int N,i=0,n=0;
// char *str;
// char *substr;
char str[90];
char substr[3];
/*char *substr="Tom"; //我发现直接复制再去产找就行
char *str="Jam Jack Tom Tommy";*/
// str=(char*)malloc(127*sizeof(char));
// scanf("%s",str); //我输完这个,根本就无法输入子串,因为我输入了空格它认为已经结束了,所以总是查找不出来
gets(str); //最后换乘这个来输入了
// substr=(char*)malloc(127*sizeof(char));
scanf("%s",substr);
char *p=substr;
char *q=str;
while(*q!='\0'&&*p!='\0')
{
if(*p==*q)
{
p++;
q++;
}
else
{
p=substr;
q++;
}
if(*q==' '||*q=='\0')
n++;
}
if(*p=='\0')
printf("I've found it at %d!\n",n);
else
printf("Sorry\n");
return 0;
}
/* 给某个单词定位,并输出他的位置--------------*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
int N,i=0,n=0;
// char *str;
// char *substr;
char str[90];
char substr[3];
/*char *substr="Tom"; //我发现直接复制再去产找就行
char *str="Jam Jack Tom Tommy";*/
// str=(char*)malloc(127*sizeof(char));
// scanf("%s",str); //我输完这个,根本就无法输入子串,因为我输入了空格它认为已经结束了,所以总是查找不出来
gets(str); //最后换乘这个来输入了
// substr=(char*)malloc(127*sizeof(char));
scanf("%s",substr);
char *p=substr;
char *q=str;
while(*q!='\0'&&*p!='\0')
{
if(*p==*q)
{
p++;
q++;
}
else
{
p=substr;
q++;
}
if(*q==' '||*q=='\0')
n++;
}
if(*p=='\0')
printf("I've found it at %d!\n",n);
else
printf("Sorry\n");
return 0;
}
相关文章推荐
- 统计字符输入,遇到空格和回车结束统计
- 键盘输入,控制台输出,在遇到over时候结束
- 1~ 从键盘输入一行字符,统计其中的单词个数。此处认为一个单词是介于空格之间的字符序列。
- C语言中用scanf函数输入字符时,为什么要在输入控制符%c前面加空格?
- 2.6 输入一个除空格以外的可见字符(保证在函数scanf中可使用格式说明符%c读入),输出其ASCII码。
- c语言scanf()停止接受输入及scanf("%c",&c)吃掉回车或者空格字符的问题
- 第一讲:c/c++基本字符数字输入printf(),scanf_s(),gets_s(),getchar()
- while循环输入字符串中以Esc键作为循环结束标识——scanf读取带空格字符串
- atof跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换
- 使用scanf字符输入时遇到的问题
- 编写函数,对标准输入进行扫描,并对“the”出现的次数进行计数。 进行比较时应区分大小写。认为一个单词有一个或多个空格字符分隔, 并且输入行在长度上不会超过100个字符,计数结果输出。
- scanf遇到空格继续输入
- 两种方法让scanf遇到空格继续输入字符串
- 循环输入直到遇到一个标志的时候结束
- scanf,fgets,gets的用法及注意事项!如何才能实现带空格的输入数据
- Linux-C基础知识学习:C语言作业-从键盘输入一行字符,统计其中有多少个字母, 数字,空格(用数组实现,gets)。
- c语言中scanf输入带空格的字符串以及scanf输入单个字符的问题
- 用scanf获取一行包括空格的字符串,并指定以特定输入结束读入
- 键盘输入,控制台输出,在遇到over时候结束
- <C语言>编写一个程序,该程序读取输入直到遇到#字符,然后报告读取的空格数目、读取的换行数目以及读取的所有其他字符数目。