看板 C_and_CPP 關於我們 聯絡資訊
char a1[20],a2[20]..................................................a1000[20] 像這類的int我會用for來寫++ 但是char要用什麼迴圈去定義 char i[20]; for() 這樣好像不行... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.130.49.94 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1421398048.A.467.html
uranusjr: 第一行是 char array, 第二行說是 int? 01/16 16:51
意思就是int i可以定義數字 用for迴圈就可以把i定義很多
wenyonba: 你是想要 char[1000][20]?不太懂你的意思... 01/16 16:51
wenyonba: 還有你忘了,,,.....,買子彈 01/16 16:52
原char c1[20],c2[20],c3[20],c4[20]; 有四筆資料 我如何宣告一個char用迴圈方式 大概是這個意思 ※ 編輯: b13b46o2 (220.130.49.94), 01/16/2015 16:54:05
uranusjr: 試用途或許可以做成二維陣列 a[1000][20] 01/16 16:53
一維 ※ 編輯: b13b46o2 (220.130.49.94), 01/16/2015 16:55:42
wenyonba: 還是不懂原Po想幹嘛,是有N個字串,但是沒有宣告成陣列嗎? 01/16 16:58
wenyonba: 我突然好像了解原Po想幹嘛,想用迴圈宣告 c1[20]~cn[20] 01/16 17:00
就是這個意思
wenyonba: 這做不到,就用2維啊 01/16 17:01
#include <stdio.h> #include <stdlib.h> int main(void) { FILE *A ,*B; char c1[20],c2[20],c3[20],c4[20],c5[20],c6[20],c7[20],c8[20],c9[20],c10[20]; A = fopen ("t2.txt" , "w"); B = fopen("t1.txt", "r"); fscanf(B, "%s%s%s%s%s%s%s%s%s%s", c1,c2,c3,c4,c5,c6,c7,c8,c9,c10); int temp1=c1[0] ; c1[0]=c1[3] ; c1[3]=temp1 ; int temp2=c2[0] ; c2[0]=c2[3] ; c2[3]=temp2 ; int temp3=c3[0] ; c3[0]=c3[3] ; c3[3]=temp3 ; int temp4=c4[0] ; c4[0]=c4[3] ; c4[3]=temp4 ; int temp5=c5[0] ; c5[0]=c5[3] ; c5[3]=temp5 ; int temp6=c6[0] ; c6[0]=c6[3] ; c6[3]=temp6 ; int temp7=c7[0] ; c7[0]=c7[3] ; c7[3]=temp7 ; int temp8=c8[0] ; c8[0]=c8[3] ; c8[3]=temp8 ; int temp9=c9[0] ; c9[0]=c9[3] ; c9[3]=temp9 ; int temp10=c10[0] ; c10[0]=c10[3] ; c10[3]=temp10 ; if(c1[1]=='0') {c1[1] = 'L';if(c1[9]=='0') {c1[9]='L';} else{c1[9]='H';}} else{c1[1] = 'H';if(c1[9]=='0'){c1[9]='L';} else{c1[9]='H';}} if(c2[1]=='0') {c2[1] = 'L';if(c2[9]=='0') {c2[9]='L';} else{c2[9]='H';}} else{c2[1] = 'H';if(c2[9]=='0'){c2[9]='L';} else{c2[9]='H';}} if(c3[1]=='0') {c3[1] = 'L';if(c3[9]=='0') {c3[9]='L';} else{c3[9]='H';}} else{c3[1] = 'H';if(c3[9]=='0'){c3[9]='L';} else{c3[9]='H';}} if(c4[1]=='0') {c4[1] = 'L';if(c4[9]=='0') {c4[9]='L';} else{c4[9]='H';}} else{c4[1] = 'H';if(c4[9]=='0'){c4[9]='L';} else{c4[9]='H';}} if(c5[1]=='0') {c5[1] = 'L';if(c5[9]=='0') {c5[9]='L';} else{c5[9]='H';}} else{c5[1] = 'H';if(c5[9]=='0'){c5[9]='L';} else{c5[9]='H';}} if(c6[1]=='0') {c6[1] = 'L';if(c6[9]=='0') {c6[9]='L';} else{c6[9]='H';}} else{c6[1] = 'H';if(c6[9]=='0'){c6[9]='L';} else{c6[9]='H';}} if(c7[1]=='0') {c7[1] = 'L';if(c7[9]=='0') {c7[9]='L';} else{c7[9]='H';}} else{c7[1] = 'H';if(c7[9]=='0'){c7[9]='L';} else{c7[9]='H';}} if(c8[1]=='0') {c8[1] = 'L';if(c8[9]=='0') {c8[9]='L';} else{c8[9]='H';}} else{c8[1] = 'H';if(c8[9]=='0'){c8[9]='L';} else{c8[9]='H';}} if(c9[1]=='0') {c9[1] = 'L';if(c9[9]=='0') {c9[9]='L';} else{c9[9]='H';}} else{c9[1] = 'H';if(c9[9]=='0'){c9[9]='L';} else{c9[9]='H';}} if(c1[1]=='0') {c10[1] = 'L';if(c10[9]=='0') {c10[9]='L';} else{c10[9]='H';}} else{c10[1] = 'H';if(c10[9]=='0'){c10[9]='L';} else{c10[9]='H';}} printf("\"%s\";\n\"%s\";\n\"%s\";\n\"%s\";\n\"%s\";\n\"%s\";\n\"%s\";\n\"%s\";\n\"%s\";\n\"%s\";\n", c1,c2,c3,c4,c5,c6,c7,c8,c9,c10); fprintf(A,"\"%s\";\n\"%s\";\n\"%s\";\n\"%s\";\n\"%s\";\n\"%s\";\n\"%s\";\n\"%s\";\n\"%s\";\n\"%s\";\n", c1,c2,c3,c4,c5,c6,c7,c8,c9,c10); fclose (A); fclose (B); } 我原本寫的 太長了 想精簡 我的txt是 十行 每行十個數字 定義二維可行嗎 他遇到空白就跳了 ※ 編輯: b13b46o2 (220.130.49.94), 01/16/2015 17:03:49
PkmX: 你確定不先拿本書起來看?這樣繼續硬幹下去是沒有用的... 01/16 17:13
wenyonba: 就是用二維啊,char[10][20],迴圈跑 10 次 01/16 17:14
CaptainH: 寫一個code generator啊 01/16 17:37
b13b46o2: 我愛硬幹 01/16 18:04
TobyH4cker: 那就別來問了。 01/16 18:15
TobyH4cker: #1KjU7Jm 01/16 18:17
MOONRAKER: 樓上幹得好 01/16 18:25
kwpn: 用code generator才不會打這麼辛苦 01/16 18:33
wenyonba: 硬幹可不能解決所有問題啊,不實際 01/16 19:57
EdisonX: 到底是要精簡還是要硬幹 你好矛盾。 01/16 20:24
tubbysong: 好屌,硬幹也可以,讀"macro"define"ifdef"之類的編譯 01/16 20:39
b13b46o2: 就慢慢估估到無法了就問 01/16 22:42
QnapNoGood: 不用 script 無解 01/16 23:01
shadow0326: 該不會要metaprograming吧 lol 01/16 23:05
b13b46o2: 太專業了只學過一學期c好痛苦阿 01/16 23:16
wenyonba: 不過只學過一學期,應該也是有交2維吧,寫起來省時省力 01/16 23:20
wenyonba: ! 我用嘸蝦米還把教打成交,這啥小啊?! 01/16 23:21
b13b46o2: 我禮拜一用電腦試試看謝謝 01/16 23:22
prismwu: 改練編輯器(X 01/16 23:35
kwpn: 專業在哪? 01/17 00:15
ACMANIAC: 你愛硬幹就去硬幹,還來問什麼? 01/17 02:04
final01: 好個硬幹 XD 01/17 13:42
tubbysong: 可以的,硬幹的話是「高級篇巨集編譯語法」,書上沒有 01/18 03:27
Killercat: 硬幹倒是個meta programming的好教材 不過... 哈 01/18 03:29
還是有看過一次書 但是實做畢竟跟書上內容還是有所差距 不幹幹看怎麼知不知道寫不寫的出來 ※ 編輯: b13b46o2 (1.171.21.25), 01/18/2015 12:54:48
MOONRAKER: 太好笑了 不想學還那麼多理由 01/18 13:23
MOONRAKER: 老話一句 隨便你怎麼想 實際狀況跟你想的無關 01/18 13:24
TobyH4cker: 看過一次書跟做過一百次練習還是有差別的 01/18 13:38
TobyH4cker: 我只感覺你連很基礎的東西都無法掌握了,再怎麼求人 01/18 13:39
TobyH4cker: 都幫不了你 01/18 13:39
kitehero: 我有點好奇你看的是哪本書 c的規則沒有很多 算容易的吧 01/18 17:46
kitehero: 就算是科班的通常也只教一學期的C 不知道這算什麼理由 01/18 17:46
Leeng: char **c;c=new char[N];for(i=0~N-1){c[i]=new char[20];} 01/18 20:55
b13b46o2: 我明天二個方法都試試看 謝 01/18 21:45
TobyH4cker: 欸樓樓上 new是C++在用的 01/18 22:16
Leeng: 對喔 那就換malloc 01/19 16:41
結果用fgects寫出來了 有矩陣位置好對 目前在想到底怎麼用fgectc寫 有字元 但是我該怎麼對位... ※ 編輯: b13b46o2 (1.171.19.57), 01/19/2015 21:48:19
TobyH4cker: The string in C programming language is actually a 01/20 02:12
TobyH4cker: one-dimensional array of characters which is termi 01/20 02:13
TobyH4cker: nated by a null character '\0'. 01/20 02:13
USeaweed99: 你該學python 用exec簡單太多 01/20 18:04