Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1597 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Question syntaxe à la con ...

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Question syntaxe à la con ...

n°1728051
Leonidas I​er
This ... is madness
Posté le 03-05-2008 à 19:09:07  profilanswer
 

Salut à tous :hello:,

 

Une petite question concernant la syntaxe d'un fichier source en C.

 

Je viens d'installer l'IDE XCode sous Leopard (Mac), et il me fait chier avec des warnings partout quand je lui écrit :

 
Code :
  1. #include <stdio.h>
  2. main()
  3. {
  4.     printf("Hello, World!\n" );
  5. }
 

Pour lui, seule cette syntaxe est correcte :

Code :
  1. #include <stdio.h>
  2. int main (int argc, const char * argv[]) {
  3.     printf("Hello, World!\n" );
  4.     return 0;
  5. }
 

Vous en pensez quoi ? :D

 

Ca me parait bien compliqué pour un Hello World :o

 



Message édité par Leonidas Ier le 03-05-2008 à 19:09:45

---------------
Nespresso, what else ?
mood
Publicité
Posté le 03-05-2008 à 19:09:07  profilanswer
 

n°1728054
Joel F
Real men use unique_ptr
Posté le 03-05-2008 à 19:19:53  profilanswer
 

il a raison :o

 

enfin, gcc 4.x a raison.


Message édité par Joel F le 03-05-2008 à 19:20:11
n°1728055
Leonidas I​er
This ... is madness
Posté le 03-05-2008 à 19:23:51  profilanswer
 

C'est strict quoi :D :D


---------------
Nespresso, what else ?
n°1728058
Profil sup​primé
Posté le 03-05-2008 à 19:37:43  answer
 

Code :
  1. #include <stdio.h>
  2.  
  3. int main (void) {
  4.    printf("Hello, World!\n" );
  5.    return 0;
  6. }
 

j'ai viré les arguments de ton main...


Message édité par Profil supprimé le 03-05-2008 à 19:38:21
n°1728059
Joel F
Real men use unique_ptr
Posté le 03-05-2008 à 19:39:06  profilanswer
 

int main(void)
ca fait bien 1880 ça :o
 
int main() hein :o

n°1728061
Leonidas I​er
This ... is madness
Posté le 03-05-2008 à 19:40:09  profilanswer
 

Ca marche aussi :D
 
Reste le "return" qui me stresse :o
 
Je débute en C hein, mais bon, j'ai quelques autres notions :D
 
Ceci dit, j'ai rien trouvé sur le "void" dans mes cours que j'ai sous les yeux. C'est quoi très exactement ? ;)


---------------
Nespresso, what else ?
n°1728062
Leonidas I​er
This ... is madness
Posté le 03-05-2008 à 19:41:07  profilanswer
 

Joel F a écrit :

int main(void)
ca fait bien 1880 ça :o
 
int main() hein :o


Ca marche aussi :love:
 
Et pour le return ? :o :D


---------------
Nespresso, what else ?
n°1728063
Joel F
Real men use unique_ptr
Posté le 03-05-2008 à 19:41:07  profilanswer
 

void = absence de type
 
le return est tout à fait normal quoi. Ton main renvoie un int, donc tu return une valeur :o

n°1728064
Profil sup​primé
Posté le 03-05-2008 à 19:42:12  answer
 

"void main()"
 
sinon ?

n°1728065
Leonidas I​er
This ... is madness
Posté le 03-05-2008 à 19:42:14  profilanswer
 

Joel F a écrit :

void = absence de type
 
le return est tout à fait normal quoi. Ton main renvoie un int, donc tu return une valeur :o


Woké, c'est logique quelque part, mais tellement peu intuitif :D :D


---------------
Nespresso, what else ?
mood
Publicité
Posté le 03-05-2008 à 19:42:14  profilanswer
 

n°1728066
Leonidas I​er
This ... is madness
Posté le 03-05-2008 à 19:43:32  profilanswer
 


Line Location main.c:3: warning: return type of 'main' is not 'int'
 
:D


---------------
Nespresso, what else ?
n°1728067
Profil sup​primé
Posté le 03-05-2008 à 19:47:00  answer
 

Leonidas Ier a écrit :


Woké, c'est logique quelque part, mais tellement peu intuitif :D :D

 

Il n'y pas que dans le main que tu retournes des résultats. mettons que tu aies une fonction qui prennes un entier et te retourne le caractère ASCII adapté, la valeur de retour sera un caractère.

 

char intToAscii (int num){
char resultat
bla bla
return resultat }

 

EDIT: Ok, bon bah t'es fixée

Message cité 1 fois
Message édité par Profil supprimé le 03-05-2008 à 19:48:31
n°1728077
Leonidas I​er
This ... is madness
Posté le 03-05-2008 à 20:14:09  profilanswer
 


Yes yes carrément ;)


---------------
Nespresso, what else ?
n°1728102
Profil sup​primé
Posté le 03-05-2008 à 23:08:19  answer
 

sinon int argc char*argv[] correspond en fait au nombre d'arguments et la valeur des arguments lorsque tu lances ton programme en ligne de commande :
$run PROGRAM arg1 arg2 ...

 

argc va renvoyer le nombre d'arguments
et argv[0] renvoie 'PROGRAM', argv[1] renvoie 'arg1' etc...

 

edit c'est comme les #?, #1, etc en programmation shell sous unix.

Message cité 1 fois
Message édité par Profil supprimé le 03-05-2008 à 23:13:17
n°1728103
Leonidas I​er
This ... is madness
Posté le 03-05-2008 à 23:12:21  profilanswer
 

Ah dac, je savais pas du tout :D


---------------
Nespresso, what else ?
n°1728104
Profil sup​primé
Posté le 03-05-2008 à 23:18:20  answer
 
n°1728107
Profil sup​primé
Posté le 03-05-2008 à 23:27:41  answer
 


Bref, c'était l'idée :o

n°1728111
djobidjoba
Posté le 03-05-2008 à 23:54:30  profilanswer
 

dans le même esprit que pour les arguments, le return (EXIT_SUCCESS, EXIT_FAILURE) permet d'avoir un code de retour au niveau de l'environnement d'exécution lorsque le programme est terminé


Message édité par djobidjoba le 03-05-2008 à 23:59:25
n°1728149
gilou
Modérateur
Modzilla
Posté le 04-05-2008 à 11:32:48  profilanswer
 

c'est du C et non du C++, le topic.
 

Code :
  1. #include <stdio.h>
  2. main()
  3. {
  4.     printf("Hello, World!\n" );
  5. }


ce code n'est pas faux, mais il n'aurait marché qu'avec un vieux vieux compilo, car il fait appel a diverses conventions plus trop a la mode (par exemple, la fonction (principale) n'est pas donnée avec un type de retour, donc implicitement, la fonction va retourner un int...), car fortement casse gueule. Il y a parfois une option sur les compilos modernes pour accepter ce type de code archaique (peut être -traditional sur gcc).
Pour avoir une idée de comment c'était aux tout débuts du C: http://www.lysator.liu.se/c/bwk-tutor.html (même pas besoin de #include <stdio.h> a l'époque)
A+,


Message édité par gilou le 04-05-2008 à 11:50:07

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°1728154
Joel F
Real men use unique_ptr
Posté le 04-05-2008 à 11:51:12  profilanswer
 

meme pas sur que les g++ récents acceptent void main() [:pingouino]

n°1728162
gilou
Modérateur
Modzilla
Posté le 04-05-2008 à 12:16:03  profilanswer
 

Si on veut être complet sur les arguments d'un main en C:

Code :
  1. int main(int argc, char *argv[], char *env[])


A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°1728206
Elmoricq
Modérateur
Posté le 04-05-2008 à 14:24:47  profilanswer
 

gilou a écrit :

Si on veut être complet sur les arguments d'un main en C:

Code :
  1. int main(int argc, char *argv[], char *env[])


A+,


Nope, celle-ci n'existe que sous certaines implémentations. [:dawa]
J'suis en train de me demander si elle est pas POSIX néanmoins, mais sûr qu'elle est pas ISO en tout cas.  

n°1728213
Joel F
Real men use unique_ptr
Posté le 04-05-2008 à 14:40:45  profilanswer
 

POSIX oui, ISO nan

n°1728219
dap++
Script kiddie
Posté le 04-05-2008 à 15:07:54  profilanswer
 

Joel F a écrit :

meme pas sur que les g++ récents acceptent void main() [:pingouino]


C'est normal : http://www.research.att.com/~bs/bs_faq2.html#void-main
En C permettre une liste de paramètres vides est une feature obsolète (et ça risque de créer des surprises parce que la sémantique change suivant qu'on est à la déclaration ou à la définition de la fonction).
 

Elmoricq a écrit :


Nope, celle-ci n'existe que sous certaines implémentations. [:dawa]
J'suis en train de me demander si elle est pas POSIX néanmoins, mais sûr qu'elle est pas ISO en tout cas.  


Ils en parlent pour dire que c'est courant mais pas portable :
 

Citation :

J.5Common extensions
The following extensions are widely used in many systems, but are not portable to all implementations. The inclusion of any extension that may cause a strictly conforming program to become invalid renders an implementation nonconforming. Examples of such extensions are new keywords, extra library functions declared in standard headers, or predefined macros with names that do not begin with an underscore.
J.5.1 Environment arguments
In a hosted environment, the main function receives a third argument, char *envp[], that points to a null-terminated array of pointers to char, each of which points to a string that provides information about the environment for this execution of the program (5.1.2.2.1).


---------------
dap.developpez.com
n°1728236
gilou
Modérateur
Modzilla
Posté le 04-05-2008 à 17:40:23  profilanswer
 

Elmoricq a écrit :


Nope, celle-ci n'existe que sous certaines implémentations. [:dawa]
J'suis en train de me demander si elle est pas POSIX néanmoins, mais sûr qu'elle est pas ISO en tout cas.  

Elle est ANSI au moins.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°1728242
Leonidas I​er
This ... is madness
Posté le 04-05-2008 à 18:22:08  profilanswer
 

Je me permets de revenir ici pour une autre question à la con :sol:
 
Quel est l'objectif du langage C ? [:petrus75]
Est-ce que c'est en partie un langage de "présentation" (comme l'HTML) ou pas du tout ?

Message cité 1 fois
Message édité par Leonidas Ier le 04-05-2008 à 18:22:52

---------------
Nespresso, what else ?
n°1728243
Joel F
Real men use unique_ptr
Posté le 04-05-2008 à 18:22:52  profilanswer
 

....
 
c'est un langage de programmation ...

n°1728244
Leonidas I​er
This ... is madness
Posté le 04-05-2008 à 18:23:20  profilanswer
 

Dac mais pour la présentation, il s'associe avec qui ? [:petrus75]


---------------
Nespresso, what else ?
n°1728245
Joel F
Real men use unique_ptr
Posté le 04-05-2008 à 18:28:03  profilanswer
 

divers API de gestion d'affichage : ncurse, gtk, etc ...
 
toi tu as fait du PHP pendant 3h non ?

n°1728247
Leonidas I​er
This ... is madness
Posté le 04-05-2008 à 18:29:41  profilanswer
 

Légèrement plus ma bonne dame [:petrus75]


---------------
Nespresso, what else ?
n°1728252
Joel F
Real men use unique_ptr
Posté le 04-05-2008 à 19:10:19  profilanswer
 

bah, le C n'a rien avoir avec :E J'adore comment les "programmeurs web" pensent débarquer en C ou C++ ...
 
la "présentation" n'a pas de sens en soi. Donc en général tu utilises des API dépendantes du systeme. La plupart du temps les apps C sont en ligne de commande.

n°1728253
gilou
Modérateur
Modzilla
Posté le 04-05-2008 à 19:12:53  profilanswer
 

Leonidas Ier a écrit :

Je me permets de revenir ici pour une autre question à la con :sol:
 
Quel est l'objectif du langage C ? [:petrus75]
Est-ce que c'est en partie un langage de "présentation" (comme l'HTML) ou pas du tout ?

Non, c'est un langage "d'application" (on peut écrire un browser HTML en C par exemple) entre autres.
A+,.
 


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°1728254
Leonidas I​er
This ... is madness
Posté le 04-05-2008 à 19:12:55  profilanswer
 

Moralité, le C c'est trop de la maÿrdasse [:petrus75] C'est de l'algo pur et simple, dingue [:totoz]
 
Le C++ donne quoi ensuite ? :D :D


---------------
Nespresso, what else ?
n°1728255
Leonidas I​er
This ... is madness
Posté le 04-05-2008 à 19:13:16  profilanswer
 

gilou a écrit :

Non, c'est un langage "d'application" (on peut écrire un browser HTML en C par exemple) entre autres.
A+,.
 

:jap:


---------------
Nespresso, what else ?
n°1728256
gilou
Modérateur
Modzilla
Posté le 04-05-2008 à 19:17:00  profilanswer
 

Leonidas Ier a écrit :

Moralité, le C c'est trop de la maÿrdasse [:petrus75] C'est de l'algo pur et simple, dingue [:totoz]
 
Le C++ donne quoi ensuite ? :D :D

Le C ca sert a faire plein de choses, car c'est tres permissif (et donc casse gueule a utiliser si on n'a pas les bonnes bases, car ca permet tres facilement de faire des conneries, si on n'est pas relativement méticuleux). Le C++, c'est la même chose, mais revu et corrigé par tous ceux qui se sont cassé la gueule en C au moins une bonne fois violemment, et qui ne veulent plus que ca recommence. C'est plein de gardes fous qui aident ton programme a tenir debout de maniere solide.
A+,


Message édité par gilou le 04-05-2008 à 19:18:52

---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°1728258
Leonidas I​er
This ... is madness
Posté le 04-05-2008 à 19:18:34  profilanswer
 

Donc c'est logique de commencer par le C pour arriver au C++, rassure-moi ? :D
 
Ou alors on peut commencer directos par le C++ ?


---------------
Nespresso, what else ?
n°1728259
gilou
Modérateur
Modzilla
Posté le 04-05-2008 à 19:20:56  profilanswer
 

Il est impératif de ne surtout pas commencer par le C a mon avis.
Tu apprends le C++ dans le Koenig-Moo qui donne les bonnes bases, puis tu lis le Stroustrup.
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°1728267
Joel F
Real men use unique_ptr
Posté le 04-05-2008 à 19:41:13  profilanswer
 

Leonidas Ier a écrit :

Moralité, le C c'est trop de la maÿrdasse [:petrus75] C'est de l'algo pur et simple, dingue [:totoz]


moralité : tu dis du caca et tu sais aps de quoi tu parles  [:petrus75]

 

c'est comme cette merde de PHP, on peut même pas faire de scientific computing avec :o

 

et jamais, oh grand jamais commencer par le C pour passer au C++ fichtre !


Message édité par Joel F le 04-05-2008 à 19:41:36
n°1728286
Leonidas I​er
This ... is madness
Posté le 04-05-2008 à 20:34:39  profilanswer
 

Je veux une application concrète du C [:d_omi]


---------------
Nespresso, what else ?
n°1728287
Joel F
Real men use unique_ptr
Posté le 04-05-2008 à 20:37:27  profilanswer
 

[:absolutelykaveh] c'est une blague
 
la quasi totalité des applications de banques des années 80 à 95, l'informatique embarquée, le calcul scientifique, les jeux vidéos, les moteurs de SGBD ...

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Question syntaxe à la con ...

 

Sujets relatifs
[JAVA] Question de syntaxeQuestion sur la syntaxe d'un lien hypertexte
Question de syntaxe, comment faire plus simple??Petite question de syntaxe sur for
Débutant, question sur syntaxe requete SQLquestion : syntaxe correcte ? signification ?
Question de syntaxe....[Python] Question syntaxe Newbie
[MYSQL] petite question sur la syntaxe des types de variables[JAVA] Une question sur la syntaxe..
Plus de sujets relatifs à : Question syntaxe à la con ...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR