Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Il primo Micro RGB di Samsung per il salotto è il 65 pollici da 2.749 euro. Sul banco di misura abbiamo rilevato 2.000 nit di picco, nero assoluto con il local dimming e il 91,4% del BT.2020, il colore più ampio che abbiamo misurato su un LCD
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
Apple ha rinnovato iPhone 18 Pro soprattutto dentro: chip A20 Pro a 2 nm con memoria affiancata al SoC, camera di vapore tre volte più ampia, Dynamic Island più piccola del 25% grazie a Face ID sotto il display e fotocamera principale con diaframma variabile da f/1.48 a f/4. Lo abbiamo misurato al colorimetro e nei benchmark, usato con iOS 27 e messo alla prova in fotografia tra laghi, borghi e interni poco illuminati
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
A Londra, per il trentennale dei Toughbook, Panasonic ha presentato il tablet G3 e il 2-in-1 34. Con Jon Tucker, a capo dell'ingegneria europea, abbiamo parlato di ciò che non si vede: batterie, antenne, porte seriali e accorgimenti nati sul campo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 05-03-2007, 12:27   #1
chinchillart
Member
 
L'Avatar di chinchillart
 
Iscritto dal: Apr 2004
Città: Ravenna
Messaggi: 31
[C] newbie: prob. con Dev-C++

Sto scrivendo i primi programmi in C, per imparare.
Ora, nell'aplicare una tecnica di masking, ho scritto il primo programma in C, che però non acquisisce una semplice successione di 4 interi:

#include <stdlib.h>
#include <stdio.h>

int main( void )
{
unsigned int n1, n2, n3, n4;

printf("Introdurre i 4 interi ");
scanf("%d %d %d %d", &n1, &n2, &n3, &n4);
printf("%d %d %d %d\n", n1, n2, n3, n4);
system( "PAUSE" );
return 0;
}

Nonostante la mia incredulità, il programma non stampa i 4 interi introdotti, ma bensì stampa 0 0 0 e l'ultimo intero correttamente.
Notate che se metto le variabili come globali il tutto funziona.
Lo stesso programma compilato in Borland Turbo C++ 3.0 per DOS funziona.
Mi spiegate l'arcano?

Roberto
chinchillart è offline   Rispondi citando il messaggio o parte di esso
Old 06-03-2007, 16:17   #2
Claudio M
Junior Member
 
Iscritto dal: Feb 2007
Messaggi: 11
Io l'ho compilato in c++ (compilatore gcc 3.4.6) e funziona.
Penso che scanf in c (che non uso) sia diverso da scanf in c++ tutto qui.

guard queste differenze
c'è pure l'equivalente c++ di scanf

http://yenigul.net/tpop/handouts/CPP_to_C.htm

, e nota che non si chiama scanf, almeno penso, Ciao.
Claudio M è offline   Rispondi citando il messaggio o parte di esso
Old 06-03-2007, 16:35   #3
chinchillart
Member
 
L'Avatar di chinchillart
 
Iscritto dal: Apr 2004
Città: Ravenna
Messaggi: 31
Quote:
Originariamente inviato da Claudio M Guarda i messaggi
Io l'ho compilato in c++ (compilatore gcc 3.4.6) e funziona.
Penso che scanf in c (che non uso) sia diverso da scanf in c++ tutto qui.

guard queste differenze
c'è pure l'equivalente c++ di scanf

http://yenigul.net/tpop/handouts/CPP_to_C.htm

, e nota che non si chiama scanf, almeno penso, Ciao.
Dal documento che mi hai linkato:

Quote:
Originariamente inviato da link
Input

There is a standard input stream stdin which works like cin. Functions such as scanf automatically use stdin, so
cin >> i >> s; // C++

becomes
scanf("%d%s", &i, s); /* C */

or
fscanf(stdin, "%d%s", &i, s); /* C */

Note the need for pointers to int (but strings are already pointers to char).
Non mi è molto di aiuto. Io sto compilando con miniGW sotto windows con Dev-C++. Ma quando apro un progetto scelgo progetto "consolle" in linguaggio C. Quindi dovrebbe attenersi alle regole del C.

Di fatto la funzione scanf riporta anche il numero dei dati acquisiti, e nel mio caso riporta 4 per le 4 variabili. Tuttavia le prime tre, se stampate, hanno valore 0.

Un altro esempio:

int main(void)
{
unsigned short int num1, num2;
int check;

printf("Introdurre 2 numeri: ");
check = fscanf(stdin, "%d%d", &num1, &num2);
printf("%5d %5d\n", num1, num2);
printf("check = %d\n", check);
system("PAUSE");
return 0;
}

In questo caso, se introduco 10 11, printf mi stampa 0 11, ma check vale 2. Ed ho usato fscanf.
Ho cercato in rete ma usare scanf in C sembra la cosa più facile del mondo, anche se non è più considerata una funzione portabile rispetto allo standard GNU.
Non capisco questi risultati balordi...

Roberto
chinchillart è offline   Rispondi citando il messaggio o parte di esso
Old 06-03-2007, 16:48   #4
Torav
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 558
scusa per la domanda stupida, non è che hai reinstallato dev-cpp su una installazione più vecchia? io una volta l'ho fatto senza accorgermene e mi dava tutti errori del genere, oltre a casini col linker e altro ancora, c'ho messo parecchio a capire dove avevo sbagliato
Torav è offline   Rispondi citando il messaggio o parte di esso
Old 06-03-2007, 17:45   #5
chinchillart
Member
 
L'Avatar di chinchillart
 
Iscritto dal: Apr 2004
Città: Ravenna
Messaggi: 31
Quote:
Originariamente inviato da Torav Guarda i messaggi
scusa per la domanda stupida, non è che hai reinstallato dev-cpp su una installazione più vecchia? io una volta l'ho fatto senza accorgermene e mi dava tutti errori del genere, oltre a casini col linker e altro ancora, c'ho messo parecchio a capire dove avevo sbagliato
Guarda, è possibile una cosa del genere: ho installato anche Borland C++ Builder 6, e il debugger di Borland si era sostituito a quello di Dev-C++.
Oggi però ho disintallato entrambi e ho reinstallato solo Dev-C++. Cancellando a mano tutti i file restanti. Non credo che adesso sia quello il problema...
Cmq grazie del contributo.

Roberto
chinchillart è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre iPhone 18 Pro: la recensione del miglior iPhone ...
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34 Panasonic, 30 anni di Toughbook: la "Bibbia...
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione realme C100x, lo smartphone economico con la bat...
Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
Steve Jobs, 15 anni dopo: John Ternus e ...
LaLiga chiede all'Europa di inserire qua...
Microsoft festeggia cinque anni di Windo...
WhatsApp blocca l'accesso sui telefoni n...
AMD non riesce a stare dietro alla doman...
Android Auto: stop alla compatibilità pe...
Più delle montagne russe: Six Fla...
Dopo Sapphire, anche Gigabyte rilascia a...
Motorola in offerta Prime Day: moto g57 ...
Lenovo in offerta Prime Day: IdeaPad S5 ...
Evento Apple del 13 ottobre: fra i nuovi...
FRITZ! in offerta Prime Day: Repeater 27...
GMK TriggerKey: un mod kit per maggiore ...
RTX Spark deve ancora debuttare, ma AMD ...
Robot aspirapolvere Prime Day: i prezzi ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 12:27.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v