如何获取当前字符索引(在 C 中)?
char *s = "abcdefghijklmopqrstuvwxyz";
*s++;
*s++;
*s++;
printf("%c\n", *s); // print character 'd'
printf("%d\n", s - *s); // should print 3, but not working
我希望得到索引(3),但是如何以编程方式对其进行编码?
如何获取当前字符索引(在 C 中)?
char *s = "abcdefghijklmopqrstuvwxyz";
*s++;
*s++;
*s++;
printf("%c\n", *s); // print character 'd'
printf("%d\n", s - *s); // should print 3, but not working
我希望得到索引(3),但是如何以编程方式对其进行编码?
char *s = "abcdefghijklmopqrstuvwxyz";
char *t = s;
*s++;
*s++;
*s++;
printf("%c\n", *s); // print character 'd'
printf("%d\n", s - t); // print 3
应该这样做。
您需要将另一个指针(不是s
指针)移动到第三个索引或任何索引。然后你可以做指针减法,差值是指针之间的字节元素数。
const char s[] = "asdf";
const char *s2 = s + 2;
printf( "%d", s2 - s ); // 2