- 723 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 00:42:00 ]
- 質問します。
#include <stdio.h> #include <stdlib.h> char *input(void){ int i; char aaa[8]; int count =0; char *bb=""; printf("番号入力する"); scanf("%07s",aaa); fflush(stdin); while (aaa[count]){ count++; } for (i=0;i<count;i++){ *(bb+i)=aaa[i]; } return(bb); } int main (void){ int i; char *p; i=atoi(input()); printf("%d\n",i); p=input(); printf("%s\n",p); return(0); } これで実行してみると、printf("%s\n",p);で表示される文字の5桁目だけ、数字が入力時から+1された状態になります。 何故このようなことが起きるのでしょうか。 正しい表示にするにはどうすればよいのでしょうか?
|

|