zzl-jy 发表于 2021-12-12 00:51:45

str[i++]=getchar()与ch=getchar(),str[i++]=ch 两者的区别

while((ch=getchar())!='\n')
        {
               
                if(ch==' ')
                {
                        space=i;
                }
               
        }
        /*while((str1=getchar())!='\n') //这样写跑不出想要的结果,space一直是个原先设定的 常数
        {
               
                if(str1==' ')
                {
                        space=i;
                }
               
        }*/

jackz007 发表于 2021-12-12 02:03:10

本帖最后由 jackz007 于 2021-12-12 02:12 编辑

int space = 0                  ;
while((ch = getchar()) !='\n'){
      if(ch == ' ') space ++ ;
}
      此代码从键盘输入一个字符串,直到按下回车键结束,并统计这个过程中,一共按下多少次空格键。
int space = 0 , i = 0               ;
while((str1 = getchar()) != '\n')   // 【注意】:执行 while() 括号中的语句包括 i ++ 的执行
{
      if(str1 == ' ') space ++ ; // 【注意】:str1 不是刚刚新键入的那个字符,str1 才是。你的代码没有效果的原因就在这里。
}
str1 = '\0'                      ;
      此代码同样也是从键盘输入一个字符串,直到按下回车键结束,并统计这个过程中,按下过多少次空格键。只不过这个代码会把字符串完整保存进 str1 中,而前面的代码会直接丢弃字符串中所有的字符内容。

zzl-jy 发表于 2021-12-14 15:11:53

jackz007 发表于 2021-12-12 02:03
此代码从键盘输入一个字符串,直到按下回车键结束,并统计这个过程中,一共按下多少次空格键。
...

多谢老哥,老哥威武
页: [1]
查看完整版本: str[i++]=getchar()与ch=getchar(),str[i++]=ch 两者的区别