Ники написа: ползвам следния код, за да покажа 6 знака от tmp(три байта), т.е. в изхода искам '654321', но излизат 8 знака, забелязах също че ако стойността на променливата tmp е по-малка от вместващата се в три байта, си излизат 6 знака но стане ли по-голяма от 3 байта, излизат повече знаци:
uint32_t tmp=0x87654321; printf("%06lX",tmp);// между 6 и Х е малко 'L'
имам ли грешка или пропуск заради който се получават 8 вместо 6 знака в изхода, в настоящия случай? |