Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

指標是不是有限制呢?

0 views
Skip to first unread message

草兒

unread,
Apr 20, 2002, 1:10:07 PM4/20/02
to
嗯…最近仍然在狂練C中…
關於字串、指標的問題…雖然還是滿廢的…
但至少已經有一點基礎了…

不過目前正在練一題:輸入一整數值n,輸出n位數的所有二進位值…
例如:
input:
n=3;
output:
000 001 010 011 ......... 110 111
嗯…我用TC去寫…也寫出來了…程式碼是…
(#include省略)
void sort(int n ,const char* nowstr)
{if(!n){cout << nowstr<<endl;}
else
{char tmpstr[255];char tmpstr2[255];
strcpy(tmpstr,nowstr);
sort(n-1,strcat(tmpstr,"0"));
strcpy(tmpstr2,nowstr);
sort(n-1,strcat(tmpstr2,"1"));
}
}
void main()
{int a;cout <<"i need a number...>>" ; cin >> a;
sort(a,"");
}
上面是利用字元陣列去作的…
但是當我打算用動態配置的觀念去作…改寫成:
FILE* input=fopen("answer.txt","w");
void sort(int n ,const char* nowstr)
{if(!n){fprintf(input,"%s\n",nowstr);}
else
{char* tmpstr;tmpstr=new char[255];
strcpy(tmpstr,nowstr);
sort(n-1,strcat(tmpstr,"0"));delete tmpstr;tmpstr=new char[255];
strcpy(tmpstr,nowstr);
sort(n-1,strcat(tmpstr,"1"));
}
}
void main()
{int a;cout <<"i need a number...>>" ; cin >> a;
sort(a,"");
fclose(input);
}
輸入1~7還沒有問題…但是從8開始…就出問題了…
難道是指標功能本身有限制嗎?
希望各位高手能花時間指點一下^^~謝謝~~

--
不怕死的十七歲小鬼…
^~~~^
( ^_^*)//
───GRASSBOY
--
* Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>

草兒

unread,
Apr 20, 2002, 1:16:12 PM4/20/02
to
哇…關於上面的程式碼…第一段用字元陣列作的應該是

FILE* input=fopen("answer.txt","w");
void sort(int n ,const char* nowstr)
{if(!n){fprintf(input,"%s\n",nowstr);}
else
{char tmpstr[255];char tmpstr2[255];
strcpy(tmpstr,nowstr);
sort(n-1,strcat(tmpstr,"0"));
strcpy(tmpstr2,nowstr);
sort(n-1,strcat(tmpstr2,"1"));
}
}
void main()
{int a;cout <<"i need a number...>>" ; cin >> a;
sort(a,"");
}
才對…
對不起^^~今天打了一大堆錯誤的文章…
0 new messages