10/02/03 17:37:00
勉強のためなんだろうから、あえて使ってないんだろう。
最初にj=0にしておけば、mojiCへの代入はすべて
mojiC[j++]= とやれば途中のj++の部分は全部消せる。
最後にmojiC[j++]='\0';とかいれとけ
136:デフォルトの名無しさん
10/02/03 17:43:51
strlen memcpyという関数を自作すれば見通し良い。
137:デフォルトの名無しさん
10/02/03 18:14:08
同一名称、あるいは酷似した名称を使うのは
車輪の再発明で悦に入る行為かもな
内容は同じなライブリ関数を自作して使用するの
は悪いこととは限らないといった程度
138:やってみた
10/02/03 18:16:48
void *
memcopy(void *d1, const void *s1, size_t sz)
{
char *d2 = d1;
const char *s2 = s1;
while (sz-- > 0)
*d2++ = *s2++;
return d1;
}
139:デフォルトの名無しさん
10/02/03 19:02:08
int m=strlen(a); // 超違和感
140:デフォルトの名無しさん
10/02/03 19:03:45
何故sprintf()を使わないのか?無意味な苦労はバグを生むだけ。
141:デフォルトの名無しさん
10/02/03 19:18:46
無意味な苦労でも、車輪の再発明でも、実装を知っていることは良いことだ。
日本のイット業界なんかアルゴリズム詳しく知らなくても仕事できちゃうもん。
あはは。
142:推奨
10/02/03 19:51:46
実装など実務経験の間に自然に知って欲しかった
というのはあるかも知れないが
いつの時代でもコンスタントにそれが
出来るとは限らない
とりわけ露出狂時代にはね。
143:デフォルトの名無しさん
10/02/03 22:53:58
>>141
だって、技術者じゃなくドカタだもん
144:デフォルトの名無しさん
10/02/03 23:07:14
アルゴリズムってなに?
145:デフォルトの名無しさん
10/02/03 23:08:48
>>144
Wikipedia読んで、それでもわからなかったら、丸一日考えて、
それでもわからなかったら、何がわからないのか質問しなさい。
146:デフォルトの名無しさん
10/02/04 09:22:26
>>144
いーっぽすすんでまえならえ~♪
147:デフォルトの名無しさん
10/02/04 10:37:05
コンパイル環境のエンディアンを調べるれるようなマクロとかってある?
それか明示的にエンディアン指定できるpragmaとかあればいいんだけど
148:デフォルトの名無しさん
10/02/04 11:23:22
こういうのか
URLリンク(www5d.biglobe.ne.jp)
149:デフォルトの名無しさん
10/02/04 15:43:38
#include <stdio.h>
/* 整数の2進表現を下位から表示 */
int main(void)
{
int n, b;
n = 0;
do {
b = n % 2;
printf("%d\n", b);
n /= 2;
} while (n > 0);
return 0;
}
このプログラムをn=0にしたときに同じ結果を得るにはどうしたらいいのですか?
150:デフォルトの名無しさん
10/02/04 15:46:26
if(n==0)で0の時だけ処理分ける
151:デフォルトの名無しさん
10/02/04 15:48:50
>>149
何と同じにするのか分からん
152:デフォルトの名無しさん
10/02/04 15:58:59
>>149
2進数はビット演算子を使うのが常套手段じゃないのかな?
int n;
n = 15;
do {
printf("%d\n", n & 1);
} while ((n >>= 1) > 0);
153:デフォルトの名無しさん
10/02/04 16:03:20
>>152 n進数への応用がきかない。
154:デフォルトの名無しさん
10/02/04 16:14:42
#include <stdio.h>
int main() {
int n = 7, i;
for (i = 0; i < sizeof n * 8; i++) {
printf("%d\n", !!(n & (1 << i)));
}
return 0;
}
155:デフォルトの名無しさん
10/02/04 16:35:11
そもそも>>151の言うように、どういう出力を期待してるのか
質問者は書いてみてくれないか