(1)- char *str1;
- scanf("%c", str1);
复制代码 这样是行不通的,因为没有在电脑中分配内存,而创建的
char *str1这个指针,指向的内存是不确定的,所以这个
内存是不能读取的,更不能修改。所以,两条语句会出错。
- char str[100];
- scanf("%c", str);
- int length = strlen(str);
复制代码
length的值一直为103,因为scanf("%c", str);这个语句是
输入一个字符,不会在输入的字符后面添加'\0',所以,
strlen会一直读取str,直到出现'\0'。把scanf("%c", str);
改成scanf("%s", str);那么结论成立
(2)- for (int i=0; i<length1; i++)
- {
- printf("%c", *p[i]);
- }
复制代码
printf("%c", *p);这句话不对。指针不能用*p这种格式,
你可以写成printf("%c", *(p+i));
*(p+i) == str; |