ViVi Home > 技術文書 > ポインタ入門 > ポインタ穴埋め問題集


 
Follow @vivisuke Tweet

 

ポインタ穴埋め問題集 は C/C++ のポインタを学習するため問題集です。
入力エリアに適切な(半角)文字列を入力し、画面下部の【採点】を押してください。
※ sizeof(void*) は 4、sizeof(int) は 4、sizeof(short) は 2 とする。
※ 文字エンコーディングは ASCII 、文字列は '\0' を終端とする。
※ バイトオーダはリトルエンディアンとする。
※ 文字列領域は充分な領域が確保されているものとする。
※ 特に指示が無い限り、ポインタが指す構造体のメンバを参照する場合は (*ptr).mbr ではなく ptr->mbr と記述しなさい。

Q1: 文字列を複製する関数を完成させなさい。
char *strdup(const char *str)
{
    const int len = strlen(str);
    char *dst = new char[];
    strcpy(dst, str);
    return ;
}


Q2: 文字数を数える関数を完成させなさい。
int strlen(const char *str)
{
    int i = 0;
    for(; str != ; ++i) {
    }
    return i;
}


Q3: 構造体 Struct { int mbr; };が定義されていて、Struct *ptr がその構造体を指す時、メンバ変数を参照するコードは?
ptrmbr
または
.mbr


Q4: const char *str が文字列を指す時、その文字列を表示するコードは?
std:: <<  << "\n";


Q5: 文字列をコピーする関数を完成させなさい。
void strcpy(char *dst, const char *src)
{
    while( (*++ = *++) != '\0' ) ;
}




※ 問題は5問ランダムに表示されます。 総問題数:42
※ 問題・解答に間違いがあった場合は、ツイッター or メール等でご指摘してくださると助かります。

最近10人の平均点:2.7
0 1 7 7 7 4 1 0 0 0 (latest)
最近100人の平均点:3.4
最近1000人の平均点:3.7
過去全部(1953人)の平均点:4.3

満点獲得者名と記念コメント:
17/10/22 15:23 名無し さん
17/10/17 19:03 名無し さん
17/10/17 11:13 名無し さん
17/10/14 16:16 名無し さん
17/10/13 01:38 名無し さん
17/10/12 15:28 名無し さん
17/10/11 15:13 名無し さん
17/10/09 10:25 名無し さん
17/10/07 11:05 名無し さん
17/10/04 03:30 名無し さん
17/09/29 21:16 名無し さん
17/09/25 05:03 名無し さん
17/09/21 07:29 名無し さん
17/09/17 21:00 名無し さん
17/09/17 17:59 名無し さん
17/09/17 16:55 名無し さん
17/09/17 14:58 名無し さん
17/09/13 03:10 名無し さん
17/09/11 12:28 名無し さん
17/09/08 12:38 名無し さん

Copyright (C) 2014 by N.Tsuda, All Rights Reserved.