本文目录一览:
- 1、帮忙看看以下命名符不符合C语言标示符的命名!
- 2、C语言用户标识符哪个选项是都不合法的?为什么?
- 3、c语言中标识符定义错误咋回事
- 4、在c语言中自定义了一个函数,在main中调用时提示找不到标识符,怎么办?
帮忙看看以下命名符不符合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函数