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;
}