私は C を学んでいます。私が直面している問題は、文字列を まで繰り返すとstrlen()
、ヌル文字 (何も表示されない) が出力されることを期待していますが、代わりに '.' を取得し続けることです。— 一方、 を出力するとarray[strlen(array)]
、何も得られません (ヌル文字)。何が起こっている?
#include <stdio.h>
#include <string.h>
#include <cs50.h>
int main(void)
{
char *mystring;
printf("Enter a string: ");
mystring = GetString();
//Prints '.' for mystring[i] when i = strlen(mystring)
for (int i = 0, j = strlen(mystring); i <= j; i++){
printf("The %dth character is: %c.\n", i+1, mystring[i]);
}
//Skips the line printing nothing ('\0')
printf("The last char is %c\n", mystring[strlen(mystring)]);
return 0;
}