C语言!!!急!!!高分!!!!!!!!!!!

来源:百度知道 编辑:UC知道 时间:2024/06/18 12:12:45
我想从键盘输入 1个或者2个或者3个部分

当输入 str1 引发关于str1的操作

str1空格str2 引发关于str1,str2 的操作

str1空格str2空格str3 引发关于str1,str2,str3的操作

不能用string.h类函数

用scanf("%s%s%s",str1,str2,str3)的话 如果我想执行上面第二种的话 必须输入完str1再 输入空格再随便输入个什么东西才行 如果我想执行上面第三种的话 也是一样 得多输入

scanf不接收空格啊 苦恼

用getchar的话是不是得输入一个字符摁下回车啊 还是有什么别的好办法吗

急!!!!!!!!请高手 指教!!!!!!!!!!!!
请您说清楚一点号吗

那个函数怎么用?

用getchar()就行了,先讲一下getchar()吧。它是接受键盘上的操作,不管你按了数字键或者字母键或者回车键空格键都会被它接受并存入到一个字符型的变量中,比如char x;x=getchar();这样,x就是你从键盘输入的东西。
有一种情况要特别考虑,当你输入str1完了之后要输入空格,这时空格字符也会被x接收,这样就有可能你的str2中第一个成为了空格字符,所以在输入完第一个之后,要先用一个getchar()语句,用来接收空格字符,当然也可以通过循环语句里x!=' '来控制这种情况,然后再输入str2,下面的str2和str3也是这样!!
如果按照你的你步骤,可以这样输入;
x=getchar();
while(x!=' ')
{
str1[i]=x;
x=getchar();
}
执行关于str1的操作;
x=getchar();
while(x!=' ')
{
str2[i]=x;
x=getchar();
}
执行关于str1和str2的操作;
x=getchar();
while(x!=' ')
{
str3[i]=x;
x=getchar();
}
执行str1和str2和str3的操作;

如果有疑问可以发消息交流!

你可以用getch,或者getche的啊

可以用
gets(str1);
gets(str2);
gets(str3);
但是输入字符串长度最好不要超过你定义的数组的长度。

已经写了一个完整的,完全原创哦,已经编译运行确认:
#include<stdio.h>
#include<conio.h>

void fun1( char *p )
{
int i=0;
for(;p[i]!=