はじめての C
与えられた文字列を ポインタを用いて逆さに出力するプログラムを for文を使って作成せよ。
できませんでした . . .
おしまい。
気をとりなおして、
整数のアドレスを求めるプログラムを作成せよ。
- /* access */
- #include
- main()
- {
- int a;
- int *p;
- /* ポインタの宣言、実体はアスタリスク抜きの p */
- p = &a;
- /* アドレスの安全な格納がポインタの絶対条件 */
- printf("address of a : %u\n", p);
- /* %u は符号無しの整数値 */
- }
整数のアドレスと値を表示するプログラムを作成せよ。
- /* access.2 */
- #include
- main()
- {
- int a = 2;
- int *p;
- p = &a;
- printf("address of a : %u\n", p);
- printf("value of a : %d\n", *p);
- /* この *p は間接参照演算子 */
- }
間接参照演算子を変更することで 整数の値を変えるプログラムを作成せよ。
- /* access.3 */
- #include
- main()
- {
- int a = 1;
- int *p;
- p = &a;
- printf("value of a : %d\n", a);
- *p = 2;
- printf("value of a : %d\n", a);
- }
ポインタに文字列を代入するプログラムを作成せよ。
- /* string */
- #include
- main()
- {
- char *p;
- /* 文字型のポインタの宣言 */
- p = "abcde";
- printf("address of p : %u\n", p);
- printf("value of p : %s\n", p);
- /* 間接参照演算子 *p は使わない */
- }
配列を使用して 文字列を代入するプログラムを作成せよ。
- /* string.2 */
- #include
- main()
- {
- char s[] = "abcde";
- printf("address of s : %u\n", s);
- printf("value of s : %s\n", s);
- }
配列を使用し for文を使って 文字列を表示するプログラムを作成せよ。
- /* calcstr */
- #include
- main()
- {
- char s[] = "abcde";
- char *p;
- for ( p = s ; *p != '\0' ; p++ ) {
- /* '\0' は文字列の終わりをあらわす */
- putchar(*p)
- /* putchar は文字を標準出力する関数 */
- }
- printf("\n");
- }
スペースをコロンに変換するのと 小文字を大文字に変えるのとは これの応用ですネ。
最初の設問で ただ文字列のX番目の文字を表示するだけなら簡単なんだけど . . .
- /* lastwd */
- #include
- main()
- {
- char *p;
- p = "abcde";
- printf("last of word : %c\n", *(p + 4));
- }
text: 金山典世さん(稚内北星)のページ