您的位置:

c语言标识不符,不正确的c语言标识符有哪些

本文目录一览:

帮忙看看以下命名符不符合C语言标示符的命名!

c

规定,标识符只能是字母

a~z,a~z

、数字

0~9

、下划线_

组成的字符串,并且其第一个字符必须是字母或下划线。

所以要判断命名符不符合c语言标示符,很简单,

第一步:除了字母、数字、和下划线,还有没有其他类的字符,有就不符合

第二步:第一个字符是不是字母或下划线,不是就不符合

结果全都不是。

C语言用户标识符哪个选项是都不合法的?为什么?

c语言中标识符只能是下划线、数字、字母(大小写均可,一般变量用小写、常量用大写),且不能是数字开头。

库函数其实也是一种用户自定义标识符。

不是自定义的,只有保留的关键字。而enum是枚举的关键字。

比如一个函数里面,如果你不准备调用输出语句printf,那么完全可以

void func()

{

int printf=0;

printf++;

}做这样的设置是合法的。

C语言

标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线。例如,正确的标识符:abc,a1,prog_to。

不能把C语言关键字作为用户标识符,例如if,for,while等。标识符长度是由机器上的编译系统决定的,一般的限制为8字符(注:8字符长度限制是C89标准,C99标准已经扩充长度,其实大部分工业标准都更长)。

以上内容参考:百度百科-标识符

c语言中标识符定义错误咋回事

LS的说的很对,不过不详细,我补充一下

首先,lz在scanf语句中用*a,*b,*c,*d是错误的,因为scanf语句里必须是地址表达式

而一个指针变量加上*(间接访问运算符)后,将直接访问该指针指向的存储单元。

然后,指针变量是用来存放内存地址的,它是无法直接存放字节地址(即数据)的。

在LZ的程序中,LZ仅仅定义了一个指针变量,并没有使它指向一个地址。

所以LZ的scanf语句中,即使将*a,*b,*c,*d改为啊a,b,c,d也是无效的,即使程序显示0 error

因为LZ定义的指针没有指向任何一个地址,

换言之,LZ的scanf语句中输入的数据根本存不进内存中。

比较简单的改进就是让指针指向一个内存地址

#include "stdio.h"

void min(int *x,int *y);

int main()

{

int *a,*b,*c,*d,i,e,f,g,h;

a=e;

b=f;

c=g;

d=h;

scanf("%d %d %d %d",a,b,c,d);

for(i=1;i5;i++)

{

min(a,b);min(b,c);min(c,d);

printf("%d %d %d %d\n",*a,*b,*c,*d);

}

}

void min(int *x,int *y)

{

int z;

if(*x*y)

{

z=*x;

*x=*y;

*y=z;

}

}

最后,预祝lz早日学会c

在c语言中自定义了一个函数,在main中调用时提示找不到标识符,怎么办?

把定义的函数放在,main函数之前即可。

自定义的函数需要声明在调用之前,比如说在main函数里调用自定义的fun(),则fun()的方法体需要写在main函数之前。

在C语言中的执行总是从main函数开始的,无论main函数在哪个位置都肯定从它开始。如果你定义的函数在main函数之后。

而且在main函数前没有进行该调用函数的声明那么当在main函数中调用的该函数系统将不认识,会有错误提示的,如果定义的函数在main函数之前,那么就没事了。

扩展资料:

C语言中标识符的使用规范:

1、标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,并且首字符不能是数字,但可以是字母或者下划线。例如,正确的标识符:abc,a1,prog_to。

2、不能把C语言关键字作为用户标识符,例如if,for,while等。

3、标识符长度是由机器上的编译系统决定的,一般的限制为8字符(注:8字符长度限制是C89标准,C99标准已经扩充长度,其实大部分工业标准都更长)。

4、标识符对大小写敏感,即严格区分大小写。一般对变量名用小写,符号常量命名用大写。

5、标识符命名应做到“见名知意”,例如,长度(length),求和、总计(sum)。

参考资料来源:

百度百科—标识符

百度百科—main函数