質問
質問1
strlenはunsigned longと関係しているのでしょうか?
質問2
このような警告は放置しても良いのか?
この二つになります!よろしくお願い致します。
#include <stdio.h> #include <string.h> int main() { int i; char str[256]; scanf("%s", str); i = strlen(str); printf("%d\n", i); return 0; }
このようなコード(教科書から引用)があり、本書(苦しんで覚えるC言語)では警告が出ると書いていないのですが、警告が
i = strlen(str);
この行に(= strlen(str)の部分が黄色い線引き)
Implicit conversion loses integer precision: 'unsigned long' to 'int'
と表示されました。
僕の推測だとstrlen(str)はunsigned longでそれをint型のiに入れようとしたので警告が出たのではないかと思っています。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。