1. 利用c语言进行词法分析的时候,所创建的文件名和当前目录下的另外文件重名如何处理
保存前判断一下文件名是否存在不就完了?
如果存在
你换个名字保存
否则
直接保存
IsFileExist(...)
2. C语言,关于局部变量重名的问题。
对于这道题你可以由外向内这样分。
单个文件中分为3个级别的空间:
函数外一个空间:全局变量,具有静态存储,从定义出到这个文件结尾范围的函数可以使用
函数内:自动变量,离开函数就释放
复合体(大括号内):自动变量,离开大括号就自动释放
说明:大致上就是这3部分,内和外有同名的,内将屏蔽外部变量。但是在同一级上的同名将导致出现多次定义的错误
多个文件涉及:只能有一个定义的外部链接
(c++的话还有类和名称空间)
你的第一个例子2个x的定义都是在main函数内的同一级上,重复定义。
第二个例子int x=3只能在大括号中生存,而且屏蔽了x=1的那个定义。
3. c语言中,自定义函数和库函数重名会怎么样。会编译出错吗
如果是C++,有重载机制,不一定会出错(如果两个重名函数的参数列表不相同的话)
如果是C
#include了包含那个库函数的头文件的情况下,再定义一个重名函数,就会出错
4. c语言中为什么函数不能重名请举个函数重名的例子,谢谢
在当面的代码中要使用第三方A的一个库函数:intfoo(int,int);同时为了满足上层库B的需要,又实现了一个同名函数:voidfoo(void);
5. c++用命名空间来防止函数的重名,那么c语言中怎么办怎么预防变量,函数的重名
加前缀,比如C++是std::out,C你就命名std_out
6. C语言…外部变量与局部变量同名问题
如果全局变量和局部变量重名,局部变量将覆盖全局变量。
所以局部a覆盖全局a
main内a
=
8
但是全局b你没有重名的,所以,main中b是全局变量b=5
懂?覆盖的只是重名的,不是全部的,懂?
7. c语言中的重名函数指的是什么为什么不能通过,请举个例子
在当面的代码中要使用第三方a的一个库函数:intfoo(int,int);同时为了满足上层库b的需要,又实现了一个同名函数:voidfoo(void);
8. C语言中同名源文件问题
这是属于自定义函数和函数头
.c文件是由工程管理系统加入的,加入的时候要选择是哪个路径中的.c,这个不会混淆
.h文件由于事自定义的头,因此不用尖括号引用,一般用双引号;自定义头文件路径可以在工程设置中修改,也可以这样写(假定自定义头文件目录为c:\dir0,实际源文件目录为c:\dir0\dir1和c:\dir0\dir2):#include "dir1\a.h" 也可以写绝对路径 #include "c:\dir0\dir1\a.h"
9. c语言中函数名是否可以和变量同名
最好别那样。如果这样你调用的时候就乱了,系统不知道你调用的是函数还是指针就会报错,所以尽量不要用系统函数
10. 关于c语言查询账号重名的一道题
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
intmain()
{
chara[50];
charb[10][10]={{"Alice"},{"Bob"},{"Lucky"},{"Kitty"},{"Tim"},{"Lucy"},{"Jim"},{"Helena"}};
intc[1000],x,y,z,i,j;
while(1){
scanf("%s",a);
if(!strcmp(a,"END"))
break;
y=0;
for(i=0;i<10;i++)
{
z=strcmp(a,b[i]);
if(z==0)
y=1;
}
if(y==1)
printf("NO");
else
printf("Yes");
printf(" ");
}
system("pause");
return0;
}