【发布时间】:2020-06-14 17:38:15
【问题描述】:
我想检查字符串中的每个单独的字符。字符串存储在指针中。 由于某种原因我不能,它只会让我得到整个字符串。 这是我的代码:
int main() {
char *s=(char*)calloc(30,sizeof(char));
s="hello";
printf("%s",&s[2]);
return 0;
}
此代码打印“llo”,我只需要 1 个字符,如“l”或“o”。 有谁知道我怎么能实现它? 太棒了
【问题讨论】:
-
Printf 字符不是字符串。查找 printf 的格式代码,并问自己如果不使用“&”,s[2] 的值是多少。
-
您还丢失了使用
calloc创建的块(内存泄漏)。 检查每个单独的字符是什么意思? -
printf("%c",s[2]); -
尝试使用 strcpy,设置 s 指向 "hello" 与复制字符串不同。
-
检查每个单独的字符,我的意思是如果我想找到字母“l”或者检查所有字符串是数字还是没有数字字符串。