c语言有什么用问题不知道哪里错了

其实读了只是你while下面没加 { };导致最后ch里没有东西;所以你看上去没东西

大神求助π_π加了还是不行唉。。

你对这个回答的评价是?

}

经常被一些同学问到关于c语言有什么用的问题大多是编译不通过,编译不通过往往是语法错误初学者经常犯错误实在看不下去了,特意写一篇错误分享集

  1. 这里常见會见到一些同学经常犯这种错误,scanf(“...”, 参数1, 参数2, ...);其中参数输入是指针类型所以示例中需要b需要取地址,为什么char a[100]不用取地址呢因为char a[100]可以看做指针,只需要把a的首地址写入即可

  2. 跟一些同学说了一下,他仿佛又有点明白了然而他又说怎么又是有错误的,我明明按照你的要求参数写入时指针类型那同学还特意地指出程序里面说:我申请了一个结构体指d,填入的“d->b”参数不是指针吗听到他这样说,有问题當然要纠正啦!语重心长地对他说大哥!你认真看一下,d->b应该是int类型而不是指针类型吧?他听了好像不怎么明白我就举了一个例子,结构体好像是一个容器容器里面存放着类型变量,而通过结构体容器找里面的内容是比如找的是结构体成员b那b的类型是int型,具体怎麼找用d->b找到b变量那d->b是什么类型呢?当然是d结构体所指向与b的int类型

  3. 这一句没语法错误,却是最多初学者这样去写的他们就会说,为什麼我输入一个数字后按回车怎么没反应的呢咋一看程序才发现多了一个”\n”,具体原理是这样的,当你程序是scanf(“%d”, &i)输入数字后回车是可以輸入的但是变成scanf(“%d\n”, &i);时候就需要回车两次,因为\n需要格式化输入

  4. 头文件写错也是很多人犯的,比如却后缀‘.h’,系统头文件需要使用<>括住而自定义头文件使用” ”,在linux C里面<>和” ”还是有区别的

  5. 这里混淆了字符常量与字符串常量,字符常量是使用单引号括起来的单字符字符串常量才是使用双引号,正确写法是char c = ‘a’;或者char *c = “a”;

  6. 这里也是很多初学者犯的错误忽略‘=’和‘==’的区别。在c语言有什么用中‘=’昰赋值运算符‘==’是关系运算符,显然这里做的是i是否等于0的判断这里应该改成if(i == 0) i++;

  7. 这里的问题也是初学者犯得非常多的错误,不加分号戓多加分号很多学生都会问,我看了几次程序确定没什么问题的啦!还是对着你的示例程序敲的,不可能错的认真地帮他看了一下,原来都是少加分号和多加分号了int i = 0; 需要加分号,而if(i == 0)和for循环后面不需要加分号因为如果加了分号,if语句就失去判断的作用而for就会失去循環的作用因为‘;’代表的是结束。

  8. 还有一些格式上的错误、关键词写不完整、区分大小写正确应该是scanf(“%d%d%d”, a, b, c);

  9. 总结一下,学习嵌入式编程特别是在c语言有什么用上要学会如何找错误一般有错误都是在编译输出终端里面找,会提示那一行出错或者错的是什么编译器都会大概告诉你学会找出问题所在再去解决它才是我们真正需要的。

  • 注意养成良好的编程习惯;

  • 不同编译器检查语法方式不一样

经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域)建议您详细咨询相关领域专业人士。

作者声明:本篇经验系本人依照真实经历原創未经许可,谢绝转载
}

我要回帖

更多关于 C语言问题 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信