演習5-2 K&R プログラミング言語C

演習5-2
#include <stdio.h>
#include <ctype.h>

#define SIZE 100
#define BUFSIZE 100

int getch(void);
void ungetch(int);

int main(void)
{
double array[SIZE];
int n, m, getfloat(double *);
int i;

n = 0;
while (n < SIZE && (m = getfloat(&array[n])) != EOF) {
[...]…

続きを読む

演習5-1 K&R プログラミング言語C

演習5-1
問題文の意味がいまいちわかりにくかったが、 +/- と数字の間に空白があっても +/- 記号が機能するように変更すると解釈した。
+/- 記号があれば sign_c に一時保存して次の文字を読みにいく。
次の文字が数字でなければ(スペースな…

続きを読む

5.1 ポインタとアドレス K&R プログラミング言語C

5.1 ポインタとアドレス
ポインタの算術演算例
#include <stdio.h>

int main(void)
{
int x = 5;
int *ip;

ip = &x;
printf("*ip => %d\n", *ip);
printf("ip => %p\n", ip);
*ip = *ip + 10;
printf("*ip = *ip + 10; *ip => %d\n", [...]…

続きを読む

演習4-14 K&R プログラミング言語C

演習4-14
最初に考えた答え。
#include <stdio.h>

#define swap(t, x, y) { t tmp; tmp = y; y = x; x = tmp; }

int main(void)
{
int x = 20;
int y = 50;

printf("x => %d, y => %d\n", x, y);
swap(int, x, y);
printf("x => [...]…

続きを読む

演習4-13 K&R プログラミング言語C

演習4-13
こちらの再帰は簡単に解けた。SICP 効果?
#include <stdio.h>
#include <string.h>

void reverse(char str[]);
void reverse_iter(char str[], int start, int end);

int main(void)
{
char str[] = "hello, world!";

printf("%s ", str);
reverse(str);
printf("=> %s\n", str);

return 0;
}

void reverse(char str[])
{
int i = 0;
int [...]…

続きを読む

QRコード作成Webサービス集

QRコード作成 – Q作くん
http://qr.popdom.jp/

細かい設定を行える作成フォーム
画像はJPEG・PNG・透過PNGの3タイプから選択
画像サイズはLL・L・M・Sの4種類
画像への枠線の付加を選択可能
誤り訂正レベルを指定可能
余白サイズを指定可能
フリーメ…

続きを読む

Gauche でファイルを読み込み、1行 or 1文字毎に処理を行う

;;; reader を使ってデータを読み込み、fn で処理を行う
(define (read-with-function reader fn)
(lambda ()
(let loop ((val (reader)))
(cond ((eof-object? val) ‘())
(else (fn val)
[...]…

続きを読む

4.10 再帰(Recursion), 演習4-12 K&R プログラミング言語C

4.10 再帰(Recursion)
printd の再帰のようす。

演習4-12
最初、再帰は SICP でさんざんやったので『楽勝』と思ったら、配列へ代入するタイミングの問題で文字列が逆転してしまった。
以下は修正したコード。
#include <stdio.h>

#define MAX 1024

int itoa(int num, char str[]);

int main(void)
{
char str[MAX];

itoa(12345, str);
printf("12345 => %s\n", str);

itoa(0, str);
printf("0 => %s\n", str);

itoa(-456, str);
printf("-456 => %s\n", str);…

続きを読む

4.6 静的変数, 演習4-11 K&R プログラミング言語C

4.6 静的変数
static 宣言した変数・関数のスコープ
外部変数や関数を static 宣言すると、そのスコープはソース・ファイルの宣言以下の部分に限定される。
以下に示す3つのファイルをコンパイルすると static 宣言した同名の変数 i のスコープはそ…

続きを読む

4.4 通用範囲に関する規則, 4.5 ヘッダ・ファイル K&R プログラミング言語C

4.4 通用範囲に関する規則
外部変数の宣言と定義について

内容
宣言
定義

働き
変数の性質(型)を指示する
記憶への割り付けを行う


各ファイル毎に含むことが可能(定義を含むファイルも)
すべ…

続きを読む
Page 1 of 41234»
↑ページの先頭へ