c語言中char類型轉int類型

來源:互聯網
上載者:User
前言

在九度oj做acm的時候,經常會遇到了char類型和int類型相互轉化的問題,這裡進行一下總結。今後,可能會多次更新部落格,因為半年做了很多總結,但是都是儲存在word文檔上了,現在開始慢慢向CSDN部落格轉移。

問題類型

char型數字轉換為int型轉換方法
a[i] - '0'

參考程式

#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){char str[10];int i, len;while(scanf("%s", str) != EOF){for(i = 0, len = strlen(str); i < len; i++){printf("%d", str[i] - '0');}printf("\n");}return 0;}

int類型轉化為char類型

轉換方法

a[i] + '0'

參考程式

#include <stdio.h>#include <stdlib.h>#include <string.h>int main(){int number, i;char str[10];while(scanf("%d", &number) != EOF){memset(str, 0, sizeof(str));i = 0;while(number){str[i ++] = number % 10 + '0';number /= 10;}puts(str);}return 0;}

C語言中單引號和雙引號的區別


1、含義不同

用單引號引起的一個字元實際上代表一個整數,整數值對應於該字元在編譯器採用的字元集中的序列值。而一般我們的編譯器採用的都是ASCII字元集。因此's'的含義其實和十進位數115的含義是一致的。
而用雙引號引起的字串,代表的是一個指向無名數組起始字元的指標。

2、大小不同

用單引號引起的一個字元大小就是一個位元組。
而用雙引號引起的字串大小是字元的總大小+1,因為用雙引號引起的字串會在字串末尾添加一個二進位為0的字元'\0'。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.