Help ons alstublieft de betekenis van '\ n' en '0' uit te leggen;

Help ons om de betekenis van '\ n' en '0' in de regels uit te leggen

if (isdigit(readValue) && readValue != '\n') 
{
  cellValue = cellValue * 10 + readValue - '0';
}
2

2 antwoord

De '\ n' wordt geïnterpreteerd als een regelinvoerteken. Het is een van de vele afdrukbare en niet-afdrukbare ASCII -computers die door computers worden gebruikt. Meestal worden tekenreeksen beëindigd met behulp van een regelinvoer. Dus deze regel code is waarschijnlijk aan het testen voor het einde van een reeks tekens.

The '0' is interpreted as the ASCII value for the character which looks like the number zero. Strange enough, when printing characters, the ASCII value for the charter which looks like the number zero actually has a value of 48. And one has a value of 49. Two a value of 50. Three a value of 51. And so on. So, to convert a number found in a character string into numbers like 0, 1, 2 & 3, programmers subtract 48 from the character. Using '0' instead of 48 works as both represent the same value. And, by subtracting '0', it is clearer to the seasoned programmer that a conversion from ASCII numbers to normal numbers is underway.

1
toegevoegd

\ n staat voor nieuwe regelinvoer. Het is een van de vele "escape sequences" in C. Escape-sequences beginnen met "\" en het impliceert een voorgedefinieerde betekenis voor de compiler.

Refer: https://en.m.wikipedia.org/wiki/Escape_sequences_in_C

In ASCII worden decimale getallen van 0-9 weergegeven in 7-bits, in het bereik 48-57. Dus als a en b gehele getallen zijn, dan: b = a - '0' betekent b = a - 48

Refer: https://ascii.cl/index.htm?content=mobile

0
toegevoegd