c - Why doesn't the printout of this program stop at the 0 digit? -
#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++;} }
why doesn't program stop @ 0 digit? 0 mean? 1 without ' '
you made simple mistake - comparing (most ascii) characters in string numeric value 0. change:
while(*key!=0){
to
while(*key!='0'){
note numeric value 0 value of c string terminator, written '\0'
, code stops when reaches end of string, rather when sees character '0'
.
Comments
Post a Comment