以下正确的程序段是:() A. char str[20]; scanf("%s",&str); B. char *p; scanf("%s",p); C. char str[20]; scanf("%s",&str[2]); D. char str[20],*p=str; scanf("%s",p[2]);
答案是C,为什么呀?A和D错哪儿了呢? 为什么str前不能加&?而D里面p[2]前就要加&?
最新回答
情伤己
2024-11-29 08:23:03
A. char str[20]; scanf("%s",&str); B. char *p; scanf("%s",p); C. char str[20]; scanf("%s",&str[2]); D. char str[20],*p=str; scanf("%s",p[2]);