You are not logged in.

Computer Science in 1ère

The forum to cure all your computer anxieties

#1 09-Dec-2019 20:24:44

Alexandre2602
Member
Registered: 19-Sep-2019
Posts: 5

Enigme

(Comment expliquer ceci en Bash)


$ a=0
$ b=2
$ c=(1,$((b/a)))
bash: b/a : division par 0 (le symbole erroné est « a »)
$ c=(1,$b/$a)
$ echo $c
1,2/0
 

Le shell ne peut pas appliquer le programme de division de 0 de a/b.
A la place du résultat de la division, sur le programme, on renvoie sous forme de valeur le a et le b opposé par / qui démontre juste la division.

Offline

#2 11-Dec-2019 10:09:20

Vader
Administrator
Registered: 05-Oct-2018
Posts: 220

Re: Enigme

En fait, la syntaxe pour évaluer une expression sur le bash est $(expression)
Donc dans $((b/a)) b/a est calculé et le résultta est envoyé dans la sortie sous forme de chaîne d'où l'erreur affichée
Dans le cas $b/$a, la division n'est pas évaluée mais b est envoyé sous forme de chaîne, a aussi et on retrouve la chaîne b/a dans la sortie.

Nous l'avions expliqué en classe.

Offline

Board footer

Powered by FluxBB