c語言不可嵌套的是
① c語言中不可以嵌套的是( )。 A. 函數調用 B. 函數定義 C. 循環語句 D. 選擇語句
a,函數調用,這是正確的有一種函數之間相互調用貌似叫遞歸,函數裡面也可以有子函數!
b,函數定義,這個應該只能定義一次吧,不能嶼多個定義!
c,d都是可以裡面嵌套好幾層的!
排除法應該是B是錯誤的!
② C語言中,下列關於函數的敘述中,正確的的 解釋下為什麼,狂謝
C正確
A.函數可以沒有返回值,如:
void Show(int x)
{
printf("%d\n",x);
}
這個函數的功能僅僅是將傳入的x輸出到控制台,它沒有返回值,但是可用。
B.函數可以嵌套調用,但不可以嵌套定義。標准C語言不支持嵌套定義,但是有編譯器是支持的,如gcc,下面這個程序在gcc編譯和運行是沒有任何問題的,在VC6.0中編譯不過,本題中指的應該是標准C語言。
#include<stdlib.h>
#include<stdio.h>
int main()
{
void f(int i)//嵌套定義函數體
{
printf("%d\n",i);
}
int i=1;
f(i);
i=2;
f(i);
return 0;
}
C,對。函數調用中發生的數據傳送是單向的。即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。 因此在函數調用過程中,形參的值發生改變,而實參中的值不會變化,如想實參的值也改變就必須傳入指針。
D.main函數也是一個函數,將它看成普通的函數就可以了,它可以放在任何的位置,只是C語言是以main為入口的,那麼在執行main函數時,在它(main)的前面就必須要有其他函數的聲明或者定義。如下面例子的兩種形式都是正確的。
形式1,其它函數的定義放在main函數前。
#include<stdio.h>
void Show(int x) //函數定義
{
printf("%d\n",x);
}
void main()
{
int x = 0;
Show(0);
}
形式2,其他函數定義放在main函數後。
#include<stdio.h>
void Show(int x);//函數聲明
void main()
{
int x = 0;
Show(0);
}
void Show(int x) //函數定義
{
printf("%d\n",x);
}
③ c語言注釋符不是可不可以嵌套
C語言注釋不可以嵌套。
C語言注釋分為:行級注釋「//」和塊級注釋「/**/」。
如:
#include<stdio.h>
intmain(){
//行級注釋只能注釋一行,常用於要注釋的代碼右邊。//這里嵌套也沒用
/*
塊級注釋可以注釋多行代碼,
常用於注釋代碼塊或函數。
/*如果這里使用嵌套*/
那麼這里就不是注釋了(因為"*/"把注釋閉合了)
*/
return0;
}
④ C語言中,函數可以嵌套定義嗎
不可以嵌套定義,每一個函數都有一個內存地址,這個地址是函數的入口,它是不可以在其他函數中定義的。
但是函數可以嵌套調用,也就是在函數A中可以調用函數B