C言語の、0の値についての質問です。
現在、勉強中の読んでいるC言語の参考書で下記の様なプログラムがあります。
lang
1/* 2 文字列を走査して表示する 3 */ 4 5#include <stdio.h> 6 7/*--- 文字列sを表示(改行はしない)---*/ 8void put_string(const char s[]) 9{ 10 int i = 0; 11 while (s[i]) 12 putchar(s[i++]); 13} 14 15int main(void) 16{ 17 char str[128]; 18 19 printf("文字列を入力してください:"); 20 scanf("%s", str); 21 22 printf("あなたは"); 23 put_string(str); 24 printf("と入力しました。\n"); 25 26 return 0; 27} 28
このコードで、文字列の入力を:「F07」と入力したとして、結果は「あなたはF07と入力しました。」と出るのですが、put_string関数のwhile (s[i])のループ判定でs[1]の値は"0"なのにwhileを抜けないのはなぜでしょうか?どなたかご回答をよろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/03/14 02:12