文字列を流しながら表示するプログラム
流れない(T0T)
#include <math.h> #include <stdio.h> #include <string.h> /*---時間を浪費する(間を置く) ---*/ void wait(int tm) { int i, j; for (i = 1; i < tm; i++) for (j = 1; j < tm; j++) { // 次行は宣言なので{}は必要 double x = sin(i) * cos(j); // 式は何でも良い。 } } int main(void) { int cnt = 0; char mes[] = "BohYoh Shibata"; // 表示する文字列 int len = strlen(mes); // 表示する文字列の文字数 while (1) { int i; putchar('\r'); // カーソルを行の先頭へ for (i = 0; i < len; i++) { if (cnt + i < len) putchar(mes[cnt + i]); else putchar(mes[cnt + i - len]); } wait(1000); // 数値を変えるとスピードが変化 if (cnt < len - 1) cnt++; else cnt = 0; } return (0); }
名前を尋ねて挨拶するプログラム
#include <stdio.h> int main(void) { char name[40]; printf("お名前は:"); scanf("%s", name); printf("はじめまして、%sさん!", name); return (0); }
実行結果
お名前は:Shibata はじめまして、Shibataさん!
文字列を空文字列にするプログラム
#include <stdio.h> int main(void) { char str[] = "ABC"; printf("str=%s\n", str); // strは"ABC" str[0] = '\0'; // 配列の先頭要素にナル文字を代入 puts("文字列strを空文字列にしました。"); printf("str=%s\n", str); // strは空文字列 return (0); }
実行結果
str=ABC 文字列strを空文字列にしました。 str=
ABC\0DEFで初期化された文字列を表示するプログラム
#include <stdio.h> int main(void) { char str[] = "ABC\0DEF"; // 途中にナル文字がある printf("文字列strは%sです。\n", str); return (0); }
実行結果
文字列strはABCです。
配列に文字列を格納して表示するプログラム(2)
#include <stdio.h> int main(void) { char str[] = "String"; // 初期化 printf("文字列strは%sです。\n", str); return (0); }
実行結果
文字列strはStringです。
配列に文字列を格納して表示するプログラム(1)
#include <stdio.h> int main(void) { char str[7]; // 文字列を格納する配列 str[0] = 'S'; str[1] = 'T'; str[2] = 'R'; str[3] = 'I'; str[4] = 'N'; str[5] = 'G'; str[6] = '\0'; printf("文字列strは%sです。\n", str); return (0); }
実行結果
文字列strはSTRINGです。
入力に現れた改行の数を表示するプログラム
#include <stdio.h> int main(void) { int ch; int n_count = 0; // 改行文字の数 while ((ch = getchar()) != EOF) if (ch == '\n') n_count++; printf("行数:%d\n", n_count); return (0); }
実行結果
Hello! This is a pen. 行数:2