Я пытаюсь найти длину строки без использования функции библиотеки.post и pre increment in for loop. длина строки без функции библиотеки в C
char card[16]; //card number in char array.
unsigned int cardno[16]={0}; //card number in int array for calculations.
int i,length=0,len;
printf("Credit Card Number[without any spaces]: ");
gets(card);
for(i=0;card[i]!='\0';i++);
len=i;
length=strlen(card);
printf("%d %d",len,length);
Но если я ввести номер карты 16 цифр выход 16 17 , но в противном случае [номер карты меньше, чем 16 цифр] и выход такой же. Это эффект до и после приращения или какой-то другой вещи. Пожалуйста, объясните.
Какой язык программирования вы используете? – slartidan
@slartidan Я использую язык C. –
не использовать 'gets()' Он обесценивается, он удаляется в следующем стандарте C, он (среди других проблем) позволяет пользователю переполнять входной буфер. Строго рекомендуем использовать «fgets()». Превышение входного буфера приводит к неопределенному поведению, которое может/приведет к событию сбоя seg – user3629249