#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{ char* key="844607587";
while(*key!=0){
printf("hello world,%c\n",*key);
key++;}
}
プログラムがゼロ桁で止まらないのはなぜですか? では、0 は何を意味するのでしょうか。「 」のないもの
各文字を数字の 0 と比較しているためだと思いますが、これは文字「0」とは異なります。
キーを 48 または 0 文字ではなく、0 文字または (null) 文字と比較しています。''
while(*key!='0')
または
while(*key!=48)
文字'0'
が数値 0 とは異なります。ASCIIの場合 '0' == 32
If key = "8446\07587"
thenwhile(*key!=0)
は問題なく動作しますが、文字を扱っているため、代わりに文字を比較する必要があります
while (*key != '0')