c语言怎样把char的值赋给int c语言,int赋值给char

c\u8bed\u8a00\u7a0b\u5e8f\u5982\u4f55\u5c06char\u91cc\u7684\u6570\u5b57\u8d4b\u503c\u5230int\u91cc\uff1f

char s[]={"16255 1564 5694\0"};int a,b,c;sscanf(s,"%d %d %d",&a,&b,&c);printf("\n%d %d %d",a,b,c);

\u3000\u3000\u53ef\u4ee5\u6309\u7167\u4e0b\u9762\u4ee3\u7801\u793a\u610f\u7684\u5185\u5bb9\u64cd\u4f5c\uff0c\u5373\u53ef\u5b8c\u6210\u8d4b\u503c\uff1a
char c[4];int i=100;*(int*)c = i;\u3000\u3000\u4e5f\u53ef\u4ee5\u4f7f\u7528memcpy\uff0c\u793a\u610f\u4ee3\u7801\u5982\u4e0b\uff1a
memcpy(c,&i,sizeof(i));\u3000\u3000\u63a8\u8350\u4f7f\u7528\u7b2c\u4e00\u79cd\u65b9\u6cd5\uff0c\u8fd9\u6837\u5f53\u8981\u5c06\u503c\u56de\u4f20\u7684\u65f6\u5019\uff0c\u53ea\u9700\u8981\u6309\u7167\u4e0b\u9762\u7684\u64cd\u4f5c\u5373\u53ef
i = *(int*)c;\u3000\u3000\u7075\u6d3b\u4f7f\u7528\u6307\u9488\u7c7b\u578b\u8f6c\u6362\uff0c\u53ef\u4ee5\u6781\u5927\u7684\u7b80\u5316\u7a0b\u5e8f\u4ee3\u7801\uff0c\u8fd9\u4e2a\u95ee\u9898\u5373\u662f\u4e00\u4e2a\u597d\u4f8b\u5b50

字符'0' 的ASCII 编码是0x30 (0x是十六进制的意思)
字符‘1’ 的ASCII 编码是0x31
其他数字以此类推

也就是说我们看到的字符'1',在内存中实际上是0x31, 跟实际值差了 0x30 也就是十进制 48
所以b = a[0] - '0'; 或者 b = a[0] - 0x30;

最后说一下你char a[] = “1”;这个定义的事实上是一个字串,不是字符。
a这个变量所在的地址内存应该是 0x31, 0x00

声明并初始化char,应该是这样
char a = '1';
然后 b = a - ‘0’; 或者 b = a - 0x30;

把char强制转化为int 之后在赋值

int b= Integer.parseInt(a[0]);

b=a-'0';就行了

b=a[0]
这样就可以了

  • c璇█涓,char鎬庝箞璧嬪
    绛旓細1銆char绫诲瀷锛屼篃灏辨槸甯歌瀛楃绫诲瀷銆俢har绫诲瀷鍜屽叾瀹冪被鍨嬩竴鏍峰湪瀹氫箟鍜屽垵濮嬪寲涓婂彲浠ュ厛澹版槑锛堝畾涔夛級锛屽啀璧嬪硷紙鍒濆鍖栵級銆備娇鐢╟har鏉ュ畾涔変竴涓瓧绗︼紝閫氳繃鍗曞紩鍙锋嫭璧锋潵鐨勫崟涓瓧绗璧嬪肩粰瀹冦2銆佸綋鐒朵綘涔熷彲浠ュ湪瀹氫箟鍙橀噺鐨勬椂鍊欏氨鍒濆鍖栵紙涔熷氨鏄湪澹版槑鐨勬椂鍊欒祴鍊硷級銆3銆佹敞鎰忓瓧绗﹀苟涓嶆剰鍛崇潃瀛楁瘝锛屽崟寮曞彿鎷捣鏉ョ殑鍗...
  • c璇█缁撴瀯浣撲腑鐨勪竴涓char鏁扮粍鎬庝箞璧嬪?
    绛旓細锛1锛夌敤瀛楃甯搁噺閫愪釜鍒濆鍖栨暟缁勩備緥濡傦細char a[8]={'i'锛'l'锛'o'锛'v'锛'e'锛'y'锛'o'锛'u'}锛涙妸8涓瓧绗︿緷娆″垎鍒璧嬬粰c[0]~c[7]杩8涓厓绱犮傚鏋滃湪瀹氫箟瀛楃鏁扮粍鏃朵笉杩涜鍒濆鍖栵紝鍒欐暟缁勪腑鍚勫厓绱鐨勫鏄笉鍙鏂欑殑銆傚鏋滆姳鎷彿涓彁渚涚殑鍒濆间釜鏁帮紙鍗冲瓧绗︿釜鏁帮級澶т簬鏁扮粍闀垮害锛屽垯鍑虹幇璇...
  • c璇█涓妸鍗曚釜瀛楃杞寲鏁板瓧,int i;char ch='9';瑕佹妸9璧嬬粰i
    绛旓細i=ch-'0';灏卞彲浠ヤ簡
  • C璇█ 濡備綍缁瀛楃鎸囬拡鏁扮粍璧嬪
    绛旓細瀛楃鎸囬拡鏁扮粍鐨勮祴鍊煎拰鏅氭暟缁鐨勮祴鍊鏄竴鏍风殑锛屽彧涓嶈繃瀛楃鎸囬拡鏁扮粍閲岀殑鍏冪礌鏄寚閽堛備互涓嬫槸瀛楃鎸囬拡鏁扮粍璧嬪肩殑绀轰緥锛char* pChar[5];char str1[] = "First";char str2[] = "Second";char str3[] = "Third";char str4[] = "Fourth";char str5[] = "Fifth";pChar[0] = str1;pChar[...
  • 鍦c璇█閲鎬庝箞鎶涓涓嫳璇崟璇璧嬪肩粰涓涓瓧姣
    绛旓細C璇█涓,缁欎竴涓瓧姣璧嬪,杈撳嚭杩欎釜瀛楁瘝鏃,鎬庢牱鎵嶈兘杈撳嚭瀹鐨勫鍛 #include <stdio.h> int main(void) { char ch = 'A'; printf("鎴戦潬锛宑h鐨勫兼槸:%c",ch); return 1; } h_(娣讳竴涓瓧姣)n(鑻辫鍗曡瘝) e hen 鑻 [hen] 缇 [hɛn] n. 姣嶉浮;闆岀;濂充汉 ska_e...
  • c璇█涓璫har string [i]涓璱鏄粈涔堟剰鎬
    绛旓細A[3]閭d箞杩欎釜瀛楃鏁扮粍鎵鍖呭惈鐨勫厓绱犲簲涓char A[0],char A[1]鍜宑har A[2].棰樼洰涓粰鍑虹殑鏄竴涓湭鎸囧畾澶у皬鐨勫瓧绗︽暟缁勶紝瀹冨綋鐒朵篃搴旇鏄粠char A[0]寮濮嬩负鏁扮粍璧嬪硷紝璁$畻绌烘牸鍦ㄥ唴锛屾墍鏈鐨勮祴鍊濡備笅 char A[0]=i,char A[1]="",char A[2]=a,char A[3]=m 鏁卌har A[3]=m ...
  • 璇烽棶C璇█ char绫诲瀷鐨勬寚閽堣鎬庝箞璧嬪?
    绛旓細鎸囬拡鏄棤娉曞瓨鏀惧瓧绗︿覆鐨勶紝鍙湁鎸囬拡鎸囧悜鐨勯偅鍧楃┖闂存墠鑳藉瓨鏀惧瓧绗︿覆锛屾墍浠ユ垜绗竴鍙ヨ瘽缁欏畠寮杈熶簡20涓┖闂达紝杩欐牱灏卞彲浠ョ粰鎸囬拡鎸囧悜鐨勯偅鍧楃┖闂璧嬪浜嗭紝璋㈣阿 鍙﹀缁欎綘涓涓缓璁 char *a = NULL,*b =NULL,*c =NULL;杩欐牱鐨勫啓娉曟槸涓嶈鑼冪殑锛屽緢瀹规槗鍑洪敊銆傛爣鍑嗗舰寮忓簲璇ユ槸char *a= NULL;char *b = NULL;char...
  • 姹傚姪涓涓c璇█闂
    绛旓細ascii 鐮佽〃涓婁綘璇寸殑鏌愪釜瀛楃锛屽苟涓嶆槸 '2'銆傝繖鏍风殑鍐欐硶鍏跺疄涔熸槸鎶 i 褰撲綔涓涓 int 鏉ョ敤锛屽彧鏄寖鍥村皬浜嗗緢澶氾紙-128~127锛夛紝涓嶅お甯歌锛屼絾浼氬嚭鐜板湪涓浜涘鍐呭瓨璧勬簮姣旇緝鏁忔劅鐨勫満鏅紝鍥犱负 char 鐨鍐呭瓨鍗犵敤姣 int 灏忋傚鏋滄槸鐢佃剳绋嬪簭灏变笉鐢ㄥお鑰冭檻杩欎釜鍐欐硶浜嗭紝璇ユ暣鍨嬫暣鍨嬶紝鍐欏崟鐗囨満鍊掓槸鎸哄父瑙佺殑銆
  • c璇█鎬庢牱鎶奵har鐨勫艰祴缁檌nt
    绛旓細鍏朵粬鏁板瓧浠ユ绫绘帹 涔熷氨鏄鎴戜滑鐪嬪埌鐨勫瓧绗'1'锛屽湪鍐呭瓨涓疄闄呬笂鏄0x31锛 璺熷疄闄呭煎樊浜 0x30 涔熷氨鏄崄杩涘埗 48 鎵浠 = a[0] - '0'; 鎴栬 b = a[0] - 0x30;鏈鍚庤涓涓嬩綘char a[] = 鈥1鈥;杩欎釜瀹氫箟鐨勪簨瀹炰笂鏄竴涓瓧涓诧紝涓嶆槸瀛楃銆俛杩欎釜鍙橀噺鎵鍦ㄧ殑鍦板潃鍐呭瓨搴旇鏄 0x31锛 0x00 澹...
  • 鍦C璇█涓鐪嬪埌char * &i,璇烽棶杩欐槸浠涔堟剰鎬濆憖
    绛旓細棣栧厛i鏄char鍨嬬殑鎸囬拡锛岃宑har * &i琛ㄧず鐨勬槸瀵筩har绫诲瀷鎸囬拡鐨勫紩鐢ㄣ傛瘮濡傦細char *p="asdfgh";char* &i=p;涓婇潰涓ゅ彞灏辨槸璇存妸鎸囬拡i鍜屾寚閽坧缁戝畾鍦ㄤ竴璧枫傜浉褰撲簬i鏄痯鐨勫彟澶栦竴涓悕绉般傛鏃跺i鐨勪换浣曟搷浣滈兘鐩稿綋浜庡p鐨勬搷浣溿
  • 扩展阅读:c语言把char转化为int ... c语言中char什么时候用 ... c语言char怎么用 ... int和char可以相互转换吗 ... char在c语言中什么意思 ... 一个char型数据占几个字节 ... c语言中putchar 的功能 ... c语言switch用法举例 ... c语言怎么把char转换为int ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网