1樓:匿名使用者
以下**,可以達到你的要求
#include
int main()
printf( "num=%d\n", num );
table[0] = 'a' ;
table[1] = 'b' ;
table[2] = 'c' ;
for( i=0;i<3;i++ )
str[i]='\0' ;
printf( "str=%s\n", str );
return 0;}
2樓:匿名使用者
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
unsigned char table[3];
int main()
printf("%d\n",ans);
table[0] = 'a';
table[1] = 'b';
table[2] = 'c';
table[3] = '\0';
printf("%s",table);}
3樓:
unsigned char table[4]table[0] = '2';
table[1] = '3';
table[2] = '4';
table[3] = '\0';
//1、如何將其進行組合獲得int型數字 234 ?
int i = atoi(table);
4樓:匿名使用者
1.int i = 0;
i = (table[0]-'0')*100 + (table[1]-'0')*10 + (table[2]-'0');
2.char str[4];
strncpy( str, table, 3 );
str[3] = 0;
5樓:一中吧真河蟹
#include
int main(void)
;int i;
for(i = 0;i<3;i++)
return 0;}
6樓:
table 就是字串 「234」 和 「abc」
可以輸出
printf("%s",table);
就可以看到結果了。
要是想把「234」用到數字上,得先轉為數字。
7樓:子水消燈
int chartoint(char ch[3])
void chtos(char *s,char ch[3])
}你試一下看行不行
8樓:怪俠一枝花耶
對於第一個問題可以直接這樣:int i=table[0]*100+table[1]*10+table[2].
對於第二個問題,c語言中一個字元陣列就是一個字串,根本不需要合併。這個字元陣列的名字就指向這個字串的首地址。順便說下c語言中沒有字串這個型別的。
9樓:
可以使用庫函式來實現字串到數字的轉換:
#include
int i = atoi(table); //函式原型為:int atoi(const char*str)
long l = atol(table);//函式原型為:long atol(const char*str)
double d = atof(table);// double atol(const char*str)
至於轉換成char字元,可直接用strcpy函式
char str[20];
strcpy(str,table);//將table陣列中的字元複製到str中,注意table必須以'\0'結束
puts(table);
10樓:猛龍
(table[0] - '0') * 100 + (table[1] - '0') * 10 + (table[2] - '0') * 1 就得到了int 型234
table陣列名就是字串「abc」的地址,可以直接使用。
比如,你可以直接printf("%s", table),輸出字串「abc」
11樓:
1 轉變為int數字
int n;
table[0] = '2';
table[1] = '3';
table[2] = '4';
table[3] = '\0';
n=(table[0]-48)*10*10+(table[1]-48)*10+(table[2]-48);
printf("%d\n",n);
2 char型字串
c沒有字串char,只能用陣列表示,用字串方式輸出char m[3];
table[0] = 'a';
table[1] = 'b';
table[2] = 'c';
table[3] = '\0';
for (i=0;i<=3;i++) m[i]=table[i];
printf("%s\n",m);
即可實現一個新的陣列來進行組合
12樓:
((table[0]*10+ table[1])*10+table[2]=234。
char a[4];a[0]=table[0];a[1]=table[1];a[2]=table[2];a[3]='\0';就組成了字串abc。
13樓:
第一個轉換
定義一個陣列來存放
假設找到c[2] ~c[5]是一個四位數6789下標m==2,n==5(m做頭下標,n做尾下標)int a[10];
用迴圈把c[2] ~c[5] 分別減掉48
賦給a[0]~a[3]
,(a[0]做最高位)
再用迴圈累加
int sum=a[3];
for(i=2;i>=0;i-- )
/*如果把sum=a[3];改成sum=a[n-m];這個初值,改成一般的方法是
用n-m-1,找到的數是用n-m+1位的,從a[0]到a[n-m-1]存放從十位起的所有高位,各位則存放在a[n-m]*/
第二個轉換字元陣列本身就是字串,只是比字串多了一個\0,直接把陣列table[2]等於字串變數就可以了
char temp="hello ";
string str = string(temp);
14樓:匿名使用者
int型數字:
int a=atoi(table);
字串:不用組合,就是陣列名table:
char b=table;
a是234 b是"abc"
15樓:劉海兒孫子
table陣列大小不合理,應該至少有4個sizeof(char)大小才行.
1、int數由個十百千...位組成。所以234可以這樣得到:
(table[0] * 10 + table[1])* 10 +table[2] = (2*10+3)*10+4=234。
2、可以先定義一個字元陣列用來存放字串。char newstr[4]; newstr[0] = table[0],newstr[1] = table[1], newstr[2] = talbe[2]; newstr[3] = '\0';注:newstr[3]='\0'的作用是註明字串已結束,否則程式不知道什麼時候讀完newstr陣列。
這樣就可以得到abc串了。
16樓:常玉標
把字元轉化為數字就行了, 將 字元- '0' 就行了
17樓:匿名使用者
問題一: atoi(table) 便可以獲得int型數字234,不過這個是微軟弄的函式,不在ansi標準中,如果你用的不是vc的話,就只能自己編了。如下:
int myatoi(char *p)
這個函式的返回值就是int型數字234
問題二:
c語言是沒有char型字串的哦
c語言中其實甚至連字串型別都沒有。在c語言中,使用字串時都是用指標來引用的,陣列名可退化為指標,所以table其實就是字串「abc」,不需要再組合啦
如:printf(table);
就可以輸出abc這個字串
哎呀我沒太說明白,不過你明白點沒?
18樓:時間屬於你
c++沒有 string型別,給table加上table[3] = '\n' 就是字串了可以直接訪問 table,char*轉int用atoi()就可以
19樓:篤俠
1.d=(table[0]-'0')*100+(table[1]-'0')*10+(table[2]-'0');
2.char table[4];
table[0] = 'a';
table[1] = 'b';
table[2] = 'c';
table[3] = '\0';
這時,table計算字串了。
20樓:匿名使用者
void main()
問題2:已經是字串了,不用變數
21樓:匿名使用者
第一個問題
#include
int get_number(unsigned char table,int size)
return number;
}int main()
第二個問題
table不就是char字串嗎
c語言怎麼合併兩個字串?
22樓:墨汁諾
**:bai
char str1="123";
char str2="abc";
strcat(str1,str2);
printf("%s",str1);
例如:#include
#include
main()
擴充套件資料du:字串在儲存上類似字zhi符陣列,它每dao一位單個元素都是能提取的專,字串的屬零位是它的長度,如s[0]=10,這提供給我們很多方便,例如高精度運算時每一位都能轉化為數字存入陣列。
通常以串的整體作為操作物件,如:在串中查詢某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。兩個字串相等的充要條件是:
長度相等,並且各個對應位置上的字元都相等。設p、q是兩個串,求q在p中首次出現的位置的運算叫做模式匹配。串的兩種最基本的儲存方式是順序儲存方式和連結儲存方式。
23樓:田真久
char str1[7]="123";
char str2="abc";
strcat(str1,str2);
printf("%s",str1);
24樓:龍哥的賬號
如果想要合併兩個字元的話是非常難的,而且非常難辦。
25樓:聽不清啊
先加標頭檔案
du#include
char a[10]="123";
char b[10]="abc";
strcat(a,b); //連線zhi兩個字串dao,連線後的字串存回放在a中,陣列a中有答足夠空間
printf("%s",a); //輸出連線後的字串或:#include
char a[10]="123";
char b[10]="abc";
char c[20];
strcpy(c,a); //把串a複製到有足夠空間的c中
strcat(c,b); //把b連線到c的串尾
c語言字元問題顯示出漢字,c語言輸出字串陣列出現亂碼
使用wchar型別處理寬字元型別試試,漢子屬於寬字元。include stdio.h 應該是 include c語言輸出字串陣列出現亂碼 c語言字串以 0 結尾,如果不以該符號結尾則輸出 s時會出錯,程式一直往存放字串的地址訪問。而你的程式中並沒有賦 0 給那兩個陣列,所以會出現亂碼。沒有出現亂碼的...
c語言基礎問題,求大佬求解,C語言問題,求大佬解答
第一個程式裡,y 表示先減一,然後再在y 3中使用y,所以y的值為9,所以最終結果為741。第二個程式中,k 表示先使用,然後再加一,所以k的值為3,而 k表示先減一,然後再使用,所以最終結果為2。表示式y 3僅僅是將y對3取餘,沒有改變變數y的值 寫成y y 3才會改變y的值 c語言問題,求大佬解...
C語言字串陣列問題
c語言中,賦值 與 賦初值 又叫初始化 是不一樣的。在定義變數的同時賦值,叫賦初值,而定義後賦值就是普通的賦值了。你說的 不能用賦值語句將一字串常量或字元陣列直接賦值給一個字元陣列 這句話是說普通賦值的情況,也就是,不能定義一個字元陣列以後,再給他直接賦值。而 char s 12345 這個語句,是...