php学习笔记之 函数声明(二)_php基础
/*
* 1.内部函数:PHP可以在函数内部再声明函数
* 目的就是在函数内部调用
* 用来帮助外部函数完成一些子功能
*
* 2.递归函数:在自己内部调用自己的函数名
*
* 3.重用函数
*
* require:用于静态包含
* include:用于动态包含
* require_once:用于静态包含,只包含一次
* include_once:用于动态包含,只包含一次
*
* 4.一些系统函数的使用
* 资源=opendir("目录名")
* readdir(资源)
*
*
*/
//内部函数
function score($php,$java,$dotnet)
{
function php($php)
{
if($php>60)
return "及格";
else
return "不及格";
}
function java($java)
{
if($java>60)
return "及格";
else
return "不及格";
}
function dotnet($dotnet)
{
if($dotnet>60)
return "及格";
else
return "不及格";
}
$total=$php+$java+$dotnet;
$agv=$total/3;
echo "你的php成绩是{$php}分,".php($php)."
";
echo "你的java成绩是{$java}分,".java($java)."
";
echo "你的dotnet成绩是{$dotnet}分,".dotnet($dotnet)."
";
echo "你的总分是:{$total}
";
echo "你的平均分是:{$agv}
";
}
score(50,90,70);
//递归函数
function demo($num)
{
echo $num."
";
if($num>0)
demo($num-1);
else
echo "--------------------------------
";
echo $num."
";
}
demo(10);
function total($dirname,&$dirnum,&$filename)
{
$dir=opendir($dirname);
readdir($dir)."
";
readdir($dir)."
";
while($filename=readdir($dir))
{
$newfile=$dirname."/".$filename;
echo $filename."
";
if(is_dir($filename
}
}
$dirnum=0;
$filenum=0;
total("c:/windows",$dirnum,$filenum);
echo "目录总数:".$dirnum."
";
echo "文件总数:".$filenum."
";
?>

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











C++ のデフォルト パラメーターは、関数パラメーターのデフォルト値を指定する機能を提供するため、コードの読みやすさ、単純さ、柔軟性が向上します。デフォルトのパラメータを宣言する: 関数宣言のパラメータの後に「=」記号を追加し、その後にデフォルト値を追加します。使用法: 関数が呼び出されるとき、オプションのパラメーターが指定されていない場合は、デフォルト値が使用されます。実際のケース: 2 つの数値の合計を計算する関数。1 つのパラメーターは必須で、もう 1 つはオプションであり、デフォルト値は 0 です。利点: 可読性の向上、柔軟性の向上、定型コードの削減。注: これは宣言でのみ指定でき、最後に指定する必要があり、型に互換性がある必要があります。

C++ では、関数の宣言と定義の順序がコンパイルとリンクのプロセスに影響します。最も一般的なのは、宣言が最初にあり、定義が後に来ることです。「forwarddeclaration」を使用して、定義を宣言の前に置くこともできます。両方が同時に存在する場合、コンパイラは宣言を無視し、定義のみを使用します。

関数宣言はコンパイラに関数の存在を通知しますが、型チェックに使用される実装は含まれません。関数定義は、関数本体を含む実際の実装を提供します。主な特徴には、目的、場所、役割が含まれます。違いを理解することは、効率的で保守可能な C++ コードを作成するために重要です。

C++ では関数の宣言と定義が必要です。関数宣言には関数の戻り値の型、名前、パラメーターが指定され、関数定義には関数の本体と実装が含まれます。まず関数を宣言し、それをプログラム内で使用して必要なパラメータを渡します。 return ステートメントを使用して、関数から値を返します。

C++ コンパイル エラー: 関数呼び出しが関数宣言と一致しません。解決方法は? C++ プログラムを開発する場合、必ずコンパイル エラーが発生します。一般的なエラーの 1 つは、関数呼び出しが関数宣言と一致しないことです。この種のエラーは C++ プログラマの間で広く存在しており、関数宣言の正確さに注意を払わないためにコンパイルの問題が発生し、最終的には問題の解決に時間と労力を浪費し、開発効率に影響を及ぼします。この間違いを回避するには、いくつかの規範と標準的な慣行に従う必要があります。以下でそれらを見てみましょう。関数呼び出しと関数宣言とは何ですか?
![C++ 関数宣言の [[nodiscard]]: 戻り値を無視した場合の結果をわかりやすく説明する](https://img.php.cn/upload/article/000/465/014/171455868319393.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
[[nodiscard]] 属性は、関数の戻り値を無視してはならないことを示します。無視しないと、初期化されていない例外、メモリ リーク、不正な計算結果などの結果を防ぐためにコンパイラの警告またはエラーが発生します。

C++ 関数宣言の構文は次のとおりです: returnTypefunctionName(parameterType1parameterName1,...,parameterTypeNparameterNameN); ここで、returnType は戻り値の型、functionName は関数名、parameterType はパラメータの型、parameterName はパラメータ名であり、末尾は次のとおりです。セミコロン。

関数宣言は、関数本体を提供せずに関数が存在することをコンパイラに伝えます。手順は次のとおりです。 関数の戻り値の型を指定します(戻り値がない場合は void)。 関数名を定義し、関数パラメータ(オプション、データ型と識別子を含む)とセミコロンを宣言します。
