1. #include<stdio.h>
    2. #include<stdlib.h>
    3. void compare() {
    4. char ch1 = 'Z';
    5. char ch2 = '9';
    6. if (ch1 > '9') { // 比较的是ASCII值 90>57
    7. printf("ch1=%d \t ch1=%c\n", ch1, ch1); // 90 Z
    8. printf("ch2=%d \t ch2=%c\n", ch2, ch2); // 57 9
    9. }
    10. else {
    11. printf("ch2=%d \t ch2=%c\n", ch2, ch2);
    12. printf("ch1=%d \t ch1=%c\n", ch1, ch1);
    13. }
    14. }
    15. /**
    16. 字符串数字转换整数
    17. */
    18. int toNum(char *str) {
    19. int lastres = 0; //12345 1 12 123 1234 12345
    20. int num = 0;
    21. char *backupStr = str; // 保留幅本
    22. while (*str != '\0')
    23. {
    24. if ((*str) < '\0' && (*str) > '9') {
    25. return -1;
    26. }
    27. //printf("%p \t %c\n", *str);//取出每一个字符
    28. *str++;
    29. num++;
    30. }
    31. for (int i = 0; i < num; i++) {
    32. lastres *= 10;
    33. int wei = backupStr[i] - 48;
    34. lastres += wei;
    35. printf("wei=%d\n", wei);//打印字符转换为整数的位
    36. }
    37. return lastres;
    38. }
    39. int main() {
    40. compare();
    41. char num[] = "1234567";
    42. //printf("%p\n", num);
    43. /* char num[] = "1234567" 内存存储
    44. 内存地址 ASCII 字符
    45. 0x004DF810 +49 1
    46. 0x004DF811 +50 2
    47. 0x004DF812 +51 3
    48. 0x004DF813 +52 4
    49. 0x004DF814 +53 5
    50. 0x004DF815 +54 6
    51. 0x004DF816 +55 7
    52. 0x004DF817 +0 .
    53. */
    54. int res = toNum(num);
    55. printf("res = %d\n", res);
    56. system("pause");
    57. return 0;
    58. }