トップページ > プログラム > 2014年05月25日 > JrQwFRNG

書き込み順位&時間帯一覧

3 位/161 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000014000001100108



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
スレを勃てるまでもないC/C++の質問はここで 22

書き込みレス一覧

スレを勃てるまでもないC/C++の質問はここで 22
84 :デフォルトの名無しさん[sage]:2014/05/25(日) 11:35:03.11 ID:JrQwFRNG
#include<stdio.h>#include<string.h>#include<stdlib.h>
void f(char*,int);
int main(void){
char hoge[10];
scanf("%9s",hoge);
f( hoge,strlen(hoge) );//文字列と \0を除く文字数
return 0;
}
void f(char* hoge,int len){
char** pp = (char**)malloc(sizeof(char*) *(len+1) );
int i;
char b='\0';
if( *pp == NULL ){
printf("memoryerror");
}else{
*(pp+len)=&b;
for(i=0;i<len;i++){
*(pp+i)=&hoge[i];
}
printf("%s\n",*pp);
}
free(pp);
}

これ学校のサーバ(詳細不明)上gccで実行するとmemoryerror
VisualC++2010Expressで実行すると入力と出力が一致するのですが
こういうことってよくあることなのでしょうか
またメモリ確保できなかった理由わかりますか?
スレを勃てるまでもないC/C++の質問はここで 22
87 :デフォルトの名無しさん[sage]:2014/05/25(日) 12:05:13.32 ID:JrQwFRNG
可読性は悪くて申し訳ない
他のコードをコンパクトにしたら意味のないものになってしまいました
>>86 直してみましたが visualC++で思い通り gcc でmemoryerrorです

ポインタの動的配列を作って要素にアクセスしたいのですがあってますか?
スレを勃てるまでもないC/C++の質問はここで 22
90 :デフォルトの名無しさん[sage]:2014/05/25(日) 12:19:00.66 ID:JrQwFRNG
申し訳ない!
>>86 >>88 修正でgcc直りました
修正前visualC++ 動いてたのはなぞだが
お騒がせしました
スレを勃てるまでもないC/C++の質問はここで 22
91 :デフォルトの名無しさん[sage]:2014/05/25(日) 12:21:02.58 ID:JrQwFRNG
codepadいいですね
もうお騒がせしたくないのですが
レベル上がってまともな議論できるようになったらまた来ます
スレを勃てるまでもないC/C++の質問はここで 22
92 :デフォルトの名無しさん[sage]:2014/05/25(日) 12:22:00.93 ID:JrQwFRNG
visualC++はミスを勝手に補っていたと認識すればいいのかな
スレを勃てるまでもないC/C++の質問はここで 22
98 :デフォルトの名無しさん[sage]:2014/05/25(日) 18:15:23.75 ID:JrQwFRNG
>>97 secretで見れませんね
スレを勃てるまでもないC/C++の質問はここで 22
100 :デフォルトの名無しさん[sage]:2014/05/25(日) 19:18:05.82 ID:JrQwFRNG
>>99 29行目 hoge[i]は&つけないといけないと思う
スレを勃てるまでもないC/C++の質問はここで 22
102 :デフォルトの名無しさん[sage]:2014/05/25(日) 22:38:14.80 ID:JrQwFRNG
ああ pp宣言*1個になってるし意図が伝わってなかった
ポインタ型の動的配列を作りたかったんです
ポインタの配列なら*p[定数]で済むのに...


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。