欢迎小伙伴们一起互相学习哦!!

为什么我要学习C语言

其实我不想学C,C又繁琐又低级,但它作为大部分语言的鼻祖还是需要好好的研究的,并且想做游戏得用到C++所以我得先学好C!!!嗯没错。

随便唠嗑

很多小伙伴在学习计算机语言的时候很容易找不到方法,所以找到正确的学习方法才是学好一门语言的关键。实践是最重要的!!!(不多说直接上题)

入门题之“吃苹果”

八尾勇喜欢吃苹果。她今天吃掉了 x(0≤x≤100) 个苹果。英语课上学到了 apple 这个词语,想用它来造句。如果她吃了 1 个苹果,就输出 Today, I ate 1 apple.;如果她没有吃,那么就把 1 换成 0;如果她吃了不止一个苹果,别忘了 apple 这个单词后面要加上代表复数的 s。你能帮她完成这个句子吗?

这是转自洛谷的一道入门基础题。简单分析完题意可知这是一道判断题,主要的重点就在apple的单复数上,所以只要判断吃的苹果是否大于一就可以轻松搞定了!(不多说直接上代码!)

代码部分

#include<stdio.h>

int main(){
    int a;
    
    scanf("%d",&a);
    if (a=1){
    printf("%s %d %s", "Today, I ate",a,"apple.");
    }
    if(a>1){
    printf("%s %d %s", "Today, I ate",a,"apples.");
    }
   

    
    return 0;
}     

这是我一开始写的代码。我天真的以为已经解决了,但当我调试的时候发现不管输入的数字为几都只输出“吃了一个苹果”。这就把我整迷糊了。

改正

经过不断调试终于发现特么判定的时候双等号打成单等号了。写代码粗心也是一个很大的问题。顺便这里给初入C语言的小伙伴们科普关于等号的区别。

c语言中双等号是等于的意思,是一种关系运算符,比较大小的。
而c语言中单等号的意思是赋值,它是赋值语句中必备的符号,指的是将一个值或一个变量赋给另外一个变量。

结果

#include<stdio.h>

int main(){
    int a;
    
    scanf("%d",&a);
    if(a==1||a==0){
    printf("%s %d %s", "Today, I ate",a,"apple.");
    }
    else{
    printf("%s %d %s", "Today, I ate",a,"apples.");
    }
   

    
    return 0;
}     

(之前忘考虑等于0的情况了,所以在判定条件上再加个a==0就搞定啦!

总结

这道题虽然简单,但我第一次做的时候还是做错了,说明写代码的时候还是要细心细心再细心,同时复习了温习了单等号与双等号的区别(实不相瞒,其实我没查bug之前我忘记了),希望访问我BLOG的小伙伴们也能学习到知识,总之,共勉共勉!!

上一篇:虚拟DOM和diff算法 ——— 手写 h 函数


下一篇:前端通过Blob实现文件下载