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."
";
?>

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Les paramètres par défaut en C++ offrent la possibilité de spécifier des valeurs par défaut pour les paramètres de fonction, améliorant ainsi la lisibilité, la simplicité et la flexibilité du code. Déclarez les paramètres par défaut : ajoutez le symbole "=" après le paramètre dans la déclaration de la fonction, suivi de la valeur par défaut. Utilisation : Lorsque la fonction est appelée, si des paramètres facultatifs ne sont pas fournis, les valeurs par défaut seront utilisées. Cas pratique : Une fonction qui calcule la somme de deux nombres. Un paramètre est obligatoire et l'autre est facultatif et a une valeur par défaut de 0. Avantages : lisibilité améliorée, flexibilité accrue, code passe-partout réduit. Remarque : Il ne peut être spécifié que dans la déclaration, il doit être à la fin et les types doivent être compatibles.

En C++, l'ordre des déclarations et des définitions de fonctions affecte le processus de compilation et de liaison. Le plus courant est que la déclaration vient en premier et la définition après ; vous pouvez également utiliser « forwarddeclaration » pour placer la définition avant la déclaration ; si les deux existent en même temps, le compilateur ignorera la déclaration et n'utilisera que la définition.

Une déclaration de fonction informe le compilateur de l'existence de la fonction et ne contient pas l'implémentation, qui est utilisée pour la vérification de type. La définition de fonction fournit l'implémentation réelle, y compris le corps de la fonction. Les principales caractéristiques distinctives comprennent : l’objectif, l’emplacement et le rôle. Comprendre les différences est crucial pour écrire du code C++ efficace et maintenable.

La déclaration et la définition de fonction sont nécessaires en C++. La déclaration de fonction spécifie le type de retour, le nom et les paramètres de la fonction, tandis que la définition de fonction contient le corps et l'implémentation de la fonction. Déclarez d’abord la fonction, puis utilisez-la dans votre programme en passant les paramètres requis. Utilisez l'instruction return pour renvoyer une valeur d'une fonction.

Erreur de compilation C++ : l'appel de fonction ne correspond pas à la déclaration de fonction, comment la résoudre ? Lors du développement de programmes C++, vous rencontrerez inévitablement des erreurs de compilation. L'une des erreurs courantes est que l'appel de fonction ne correspond pas à la déclaration de fonction. Ce type d'erreur est largement répandu parmi les programmeurs C++. En raison du fait qu'ils ne prêtent pas attention à l'exactitude de la déclaration des fonctions, cela entraîne des problèmes de compilation, ce qui fait finalement perdre du temps et de l'énergie à résoudre le problème et affecte l'efficacité du développement. Les moyens d’éviter cette erreur nécessitent de suivre certaines normes et pratiques standards, examinons-les ci-dessous. Qu'est-ce qu'un appel de fonction par rapport à une déclaration de fonction ?
![[[nodiscard]] dans les déclarations de fonctions C++ : démystifier les conséquences de l'ignorance des valeurs de retour](https://img.php.cn/upload/article/000/465/014/171455868319393.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
L'attribut [[nodiscard]] indique que la valeur de retour de la fonction ne doit pas être ignorée, sinon cela provoquera un avertissement ou une erreur du compilateur pour éviter les conséquences suivantes : exceptions non initialisées, fuites de mémoire et résultats de calcul incorrects.

La syntaxe de déclaration de fonction C++ est la suivante : returnTypefunctionName(parameterType1parameterName1,...,parameterTypeNparameterNameN);, où returnType est le type de retour, functionName est le nom de la fonction, ParameterType est le type de paramètre et ParameterName est le nom du paramètre, qui doit se terminer par un point-virgule.

Une déclaration de fonction indique au compilateur qu'une fonction existe sans fournir de corps de fonction. Les étapes sont les suivantes : spécifier le type de retour de la fonction (void s'il n'y a pas de valeur de retour) définir le nom de la fonction et déclarer les paramètres de la fonction (facultatif, y compris le type de données et l'identifiant) plus un point-virgule
