#include <stdio.h>
int main(void)
{
char c[]={'s','h','r','e','y','a','\0'};
char *ptr=c;
for(int i=0;i<6;i++)
printf("%c",ptr[i]);
printf("\n");
char (*s)[7];
s=&c;
for(int i=0;i<6;i++)
printf("%c",(*s)[i]);
printf("\n");
ptr=&c[5]; // ptr points to 6th char of string
for(int i=5;i>=0;i--)
printf("%c",ptr[i]);
}
程序是不是給預期結果。我得到的結果是:
SHREYA
SHREYA
一個
,但如果我寫的最後一環像以下正常工作。
for(int i=5;i>=0;i--)
printf("%c",c[i]);
我在這裏瞭解指針錯誤嗎?當我在last for循環中寫printf("%c",ptr[i]);
時,爲什麼只有最後一個字符作爲輸出。
在程序的ptr = &c[5];不需要 – venki
順便說一句:代替'炭C [] = {'s','h','r','e','y','a','\ 0'};'你可以寫'char c [] =「shreya」;'這是嚴格的一樣。 –