当前位置:首页 » 编程语言 » 语法错误c语言

语法错误c语言

发布时间: 2023-12-14 11:54:03

㈠ 作为c语言初学者,经常遇见哪些语法错误

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

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

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

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

正确写法是:

#include <stdio.h>

#include <string.h>

#include “func.h”
C语言常见语法错误

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

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

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

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

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

㈡ C语言的语法错误和逻辑错误的区别

语法错误: 在编译的时候会提示你。比如说:for(i=0,i<10,i++)
在编译的时候会提示你错误,要把逗号改成分号。
逻辑错误:没有错误提示,能运行,但是达不到自己想要的结果。

㈢ C语言检查语法错误

修改如下世敏:

#include <stdio.h>
#include <math.h>

int dt(int x,int y,int z)/*注意这里*/
{
int d;
d=(y*y)-(4*x*z) ;/*注意这里*/
if (d==0) return 0;
else if (d>0) return 1;
else return 2;
}

int gen(int x,int y,int z) /*注意这里*/
{
int t;
t=((-y)+sqrt(dt(x,y,z)))/(2*x);
return (t);
}
int main(void)
{int a,b,c,g,h;
printf("Please enter a,b,c.\n");
scanf("%d%d%d",&a,&b,&c);
g=dt(a,b,c);
h=gen(a,b,c);
if (g==0)
printf("The anser is x1=x2=%d.\n",h); /*注意这里*/
else
{if (g==1)
printf("The anser is x1=%d,x2=%d.\n"搜颂枝,h,((-b)/a)-h); /樱判*注意这里*/
else
printf("The anser is x1=%d,x2=%d.\n",h,((-b)/a)-h); /*注意这里*/
}
return 0; /*注意这里*/
}

㈣ c语言语法错误和语义错误有什么区别,麻烦举个例子

语法错误可以看作是编码出现了违反C语言规则的错误,一般编译或者链接时,
都会报错的。

而语义错误,也可以叫做逻辑错误,
也就是说你的代码完全符合C语言的规范,不会出现编译/链接的错误,
但是,在逻辑上有错误。
举个简单的例子,
加入编一个代码来统计int数组a的成员总和,成员总数为N:
for(int i=0;i<N;i++;) //这里在i++后面多了一个分号,这是语法错误
sum=sum+a[i];
for(int i=0;i<=N;i++) //这里多了一个i=N的取值,这是语义错误
sum=sum+a[i];

㈤ C语言调试中syntax error 是什么意思

C语言中的syntax error是语法错误的意思,“语法错误”是在输入代码过程中输入错误的语句,是程序发生了语法上的错误。

1、syntax error错误,例子:printf("trete")就是一个有语法错误的句子,它没有加分号,正确的应该为:printf("trete"),不正确就会弹出syntax error。

2、在C/C++中指语句的格式不对,比如少写了分号、少写或多写了括号、写错了关键字等。

3、如果是java语言在myeclipse下做开发,这个错误是该脚本语言所用的语言编码不对,可换成UTF-8或者GBK。在Java语言中,以下的程式是正确的:System.out.println("Hello World")以下的程式不正确:System.out.println(Hello World)。

(5)语法错误c语言扩展阅读

C语言的特性

1、C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。

2、C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。

3、不同的变量类型可以用结构体(struct)组合在一起。

4、只有32个保留字(reserved keywords),使变量、函数命名有更多弹性。

5、部分的变量类型可以转换,例如整型和字符型变量。

6、透过指针(pointer),C语言可以容易的对存储器进行低级控制。

7、编译预处理(preprocessor)让C语言的编译更具有弹性。

热点内容
怎么给电脑换配置 发布:2025-01-24 13:04:04 浏览:919
如何修改服务密码10086 发布:2025-01-24 12:44:27 浏览:512
dosftp连接 发布:2025-01-24 12:35:56 浏览:802
编程来炒股 发布:2025-01-24 12:35:14 浏览:854
python正则中括号 发布:2025-01-24 12:32:08 浏览:584
配置排列用英语怎么说 发布:2025-01-24 12:32:00 浏览:607
led流水灯c语言程序 发布:2025-01-24 12:28:15 浏览:46
苹果平板锁屏密码在哪里 发布:2025-01-24 12:16:41 浏览:958
网校c语言 发布:2025-01-24 12:12:15 浏览:787
少儿机器人编程哪个机构好 发布:2025-01-24 11:51:18 浏览:697