Ahoj, učím sa C a pri jednom kvíze som narazil na toto.. Dá sa použiť scanf a printf na %d decimal pre char? Podľa kvízu ano.. čo mi to dá na výstupe v reále? Vypíše mi to char tak ako pri %c?
Fórum › C / C++
Scanf %d aj printf %d na char?
printf("%d", ax) je v pohode, se to zarovna na int.
scanf("%d", &ax) je blbost, jelikoz to bude prepisovat data okolo (podle velikosti intu)
Takove gcc/g++ to hlasi hned:
warning: format ‘%d’ expects argument of type ‘int*’, but argument 2 has type ‘char*’ [-Wformat=]
scanf("%d", &ax);
A pro otestovani:
#include <stdio.h>
int main() {
char test[] = "abcdefghijklmnopq";
scanf("%d", test+8);
printf("%s", test);
}
Zadej cislo 48 (coz je ascii hodnota pro '0') a vysledek je pak "abcdefgh0"
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 59 hostů
Podobná vlákna
Std::cout; std::cin vs. printf; scanf — založil kurios
Printf vs. cout — založil volnaduse
Printf a SDL — založil sin_x
#define v printf? — založil Vilik
Printf v hexi soustave — založil Keyzio
Moderátoři diskuze