Sue. 发表于 2022-1-4 17:08:36

getchar与scanf

for (int i = 0;i <20; i++)
{
      scanf("%d",&num);
         if (num<0)
        {
             count++;
         }
        else
        {
             sum+=num;
         
        }
}
-----------------------------------------------
while((c=getchar())!='\n')
        {
                a=c;
        }
       
        for(i=0;i<20;i++)
        {
                if(a<0)
                {
                        num++;
                }
                else
                {
                        sum+=a;
                }
        }
-----------------------------------------------
这两种写法有什么区别?我用下面这种得不到正确答案{:5_94:}

柿子饼同学 发表于 2022-1-4 17:36:31

getchar()获得的是一个字符 , 转换为数字之后会变成对应的ASCII码值 , 而不是引号包裹的内容
比如'3' == 51;
scanf()可以指定输入的类型 , 如果输入3 , 它就是数字三 , 不是字符串

Sue. 发表于 2022-1-5 11:52:02

柿子饼同学 发表于 2022-1-4 17:36
getchar()获得的是一个字符 , 转换为数字之后会变成对应的ASCII码值 , 而不是引号包裹的内容
比如'3' == 5 ...

好的谢谢
页: [1]
查看完整版本: getchar与scanf