回答編集履歴
2
コード変更
answer
CHANGED
@@ -1,6 +1,22 @@
|
|
1
|
-
すいませんテストするコードが間違ってますね。書き込む回数が減っていたので単純に書き込む文字も減っているからですね。buf以上のときは毎回書き込む文字数は同じなので
|
1
|
+
すいませんテストするコードが間違ってますね。書き込む回数が減っていたので単純に書き込む文字も減っているからですね。buf以上のときは毎回書き込む文字数は同じなので書き換えました。
|
2
2
|
```C言語
|
3
|
+
#include <stdio.h>
|
4
|
+
#include <unistd.h>
|
5
|
+
#include <stdlib.h>
|
6
|
+
char buf[] = "aaaaaaaaaa";
|
7
|
+
main(int argc, char **argv)
|
8
|
+
{
|
9
|
+
int size, n, i,count;
|
10
|
+
if (argc < 3)
|
11
|
+
return 1;
|
12
|
+
size =(int) atof(argv[1]);
|
13
|
+
count=n = atoi(argv[2]);
|
3
|
-
|
14
|
+
if (count >= sizeof(buf))
|
4
|
-
n=sizeof(buf);
|
15
|
+
n=sizeof(buf)-1;
|
16
|
+
|
17
|
+
for (i = 0; i < size; i += n)
|
18
|
+
write(1,buf,count);
|
19
|
+
return 0;
|
20
|
+
}
|
5
21
|
```
|
6
|
-
こ
|
22
|
+
このコードに変更すると文字数より大きいと実行時間が伸びました。
|
1
コード加筆
answer
CHANGED
@@ -1,1 +1,6 @@
|
|
1
|
-
すいませんテストするコードが間違ってますね。書き込む回数が減っていたので単純に書き込む文字も減っているからですね。
|
1
|
+
すいませんテストするコードが間違ってますね。書き込む回数が減っていたので単純に書き込む文字も減っているからですね。buf以上のときは毎回書き込む文字数は同じなので
|
2
|
+
```C言語
|
3
|
+
if (n > sizeof(buf))
|
4
|
+
n=sizeof(buf);
|
5
|
+
```
|
6
|
+
これを追加すると実行時間が伸びました。
|