Saturday, December 25, 2010

C言語のsize_t型

以下のソースはコンパイル時エラーとなる。

#include
#include

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

printf("input something in english. \n");

scanf("%s", str);

printf("the length of string you input is %d. \n", strlen(str));

return 0;
}

strlen関数が返す型は、size_t型となるからだ。
以下のように、%dを%zdへ変更するとコンパイルが可能となる。

#include
#include

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

printf("input something in english. \n");

scanf("%s", str);

printf("the length of string you input is %zd. \n", strlen(str));

return 0;
}


No comments:

Post a Comment