當前位置:首頁 » 編程語言 » c語言未聲明什麼意思
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言未聲明什麼意思

發布時間: 2022-07-23 00:49:42

A. c語言這個未聲明的標識符,該怎麼改

system函數在stdlib.h中。
函數聲明為
int system(char *command);
功能是執行一個當前操作系統的 shell命令,windows下調用就如同在ms-dos窗口中執行一項command中存儲的命令。
比如system("dir");
會顯示當前目錄下的文件信息。
最常用的system指令是system("pause"); 作用是使命令行窗口暫停,出現一行"Press any key to continue"的文字,一般用於主函數結尾以保存現場供調試/查看。

getch():
所在頭文件:conio.h
函數用途:從控制台讀取一個字元,但不顯示在屏幕上
函數原型:int getch(void)
返回值:讀取的字元
例如:
char ch;或int ch;
getch();或ch=getch();
用getch();會等待你按下任意鍵,再繼續執行下面的語句;
用ch=getch();會等待你按下任意鍵之後,把該鍵字元所對應的ASCII碼賦給ch,再執行下面的語句。
易錯點
1.所在頭文件是conio.h。而不是stdio.h。
2.在使用之前要調用initscr(),結束時要調用endwin()。否則會出現不輸入字元這個函數
也會返回的情況。
3.在不同平台,輸入回車,getch()將返回不同數值,而getchar()統一返回10(即\n)
1)windows平台下ENTER鍵會產生兩個轉義字元 \r\n,因此getch返回13(\r)。
2)unix、 linux系統中ENTER鍵只產生 \n ,因此getch返回10(\n)。
3)MAC OS中ENTER鍵將產生 \r ,因此getch返回13(\r)。
getch();並非標准C中的函數,不存在C語言中。所以在使用的時候要注意程序的可移植性。國內C語言新手常常使用getch();來暫停程序且不知道此函數來源,建議使用getchar()或者使用<stdlib.h>頭文件中的system("PAUSE")調用系統命令暫停;(如果情況允許)代替此功能或更換一款編譯器。

在調用自己不熟悉的函數時,請查閱c語言手冊。把函數所在的頭文件包含到程序中。

B. C語言結構體成員變數引用,提示未聲明

#include<stdio.h>
#include<string.h>//函數strcpy需要頭文件string.h

structL
{
intnum;
//原代碼charname;這只是1個字元
charname[20];//name[]是字元數組,存放字元串,可以存放19個字元+1個結尾標識0
structL*next;
};

intmain()
{
structLa,b,c,*head,*p;
a.num=123;
//原代碼a.name={yang};
strcpy(a.name,"yang");//字元串賦值,一般用函數strcpy
b.num=103;
//原代碼b.name={yan};
strcpy(b.name,"yan");
c.num=230;
//原代碼c.name={yng};
strcpy(c.name,"yng");
head=&a;
a.next=&b;
b.next=&c;
//原代碼c,next=NULL;
c.next=NULL;
//P=head;//這個P是大寫實際上變數p是小寫
//原代碼for(;p=!Null;p=p->next)//Null是拼寫錯誤,=!是拼寫錯誤
for(p=head;p!=NULL;p=p->next)
{
//printf("%d,%c ",p->num,p->name);//%c對應1個字元
printf("%d,%s ",p->num,p->name);//%s對應字元串
printf(" ");
}

return0;
}

C. C語言編程提示 「price」: 未聲明的標識符 怎麼回事 請各位大俠指點

首先我講一下,你的Caculate()函數裡面所用到的price變數沒有定義,因此會提示標識符price沒有定義。。。
其次{代碼塊}這是定義了一個塊所以它裡面的變數只能在塊裡面用,這樣的變數稱之為局部變數,而你所定義的price在main函數塊里,所以在你的Caculate()函數塊不能用
#include<stdio.h>
float price=0; /*可以在這個位置定義一個全局變數*/
int main(){
int Caculate();
int choice;
int off=0;
choice=price/100;
switch(choice){
case 0: off=0; break;
case 1:
case 2: off=1; break;
case 3:
case 4:
case 5: off=2; break;
case 6:
case 7:
case 8:
case 9:
case 10:off=3; break;
}
price=price*(10-off)/10;
printf("The final price is %10.2f",price);
return 0;
}

int Caculate(){
/*或者在這個位置定義一個float price*/
do{
scanf("%f",&price);
price+=price;
}
while(price!=0.0);
return(price);
}

D. 為什麼老是提示:未聲明的標識符a,b,望c語言大神指教

a 和b是main裡面的, 沒有傳到print中. 所以出錯.

這個最好的做法是,

#include<stdio.h>
intAdd(inta,intb);
voidPrint(intx,inty);
voidmain()
{
inta,b,y;
printf("輸入兩個整數:");
scanf("%d%d",&a,&b);
printf("輸入計算結果:");
scanf("%d",&y);
Print(Add(a,b),y);
}
intAdd(inta,intb)
{
intc;
c=a+b;
returnc;
}
voidPrint(intx,inty)
{
if(y!=x)
printf("notcorrect!Tryagain!");
else
printf("right");
}

E. 關於C語言程序變數未聲明

C 語言的老標准要求變數聲明在所有執行代碼之前。你的編譯器是什麼?
把 int a=0; 下面的 getchar(); 放到 float e=clock(); 的下面去。

F. C語言結構體提取了別名之後,運行的時候為何一直顯示未聲明

他們經常來自忘記包含包含函數聲明的頭文件,例如,該程序將給出「未聲明的標識符」錯誤: 缺少標題 int main() { std::cout << "Hello world! " << std::endl。

G. c語言undeclared identifier是什麼意思

標識符沒有聲明,
就是沒有聲明的變數,函數,類型,卻在使用;

標識符:就是 變數,函數,類型 等。

比如
1)沒有聲明語句直接使用

x=10;/* undeclared identifier x */
2) 沒有聲明語句,直接使用函數.

fun(10);
/* undeclared identifier
fun
*/
C要求變數和 函數,類型 要先聲明,後引用。

1)
int main(){
int x;
//
聲明
變數

x=10;
}
2)
int y=10;

//
定義變數, 同時完成聲明.

3)
int fun(){return 10;}//定義函數,同時完成
聲明
函數。
4)
int fun(); //

聲明
函數

int main(){
int x=fun();
return 0;
}
int fun(){return 100;}
//定義函數

H. 在C語言中,數據聲明是什麼意思(麻煩大家用最通俗易懂的話) 在此先謝過大家了啊

數據聲明很簡單,舉個例子,比如一個人我聲明他是個男人,下一次你見到他就知道他是個男人了。數據也一樣,我聲明他是一個整形數,占據16位bit。那程序中下次見到就知道他是個佔16位的整形數。聲明就是和編譯器先打個招呼,告訴編譯器變數的類型。
比如程序中int a; //這句話就是聲明
你需要注意另一個概念叫「定義」,定義和聲明的區別是定義分配內存,而聲明並沒有分配內存。int a=12; //這句話是定義。