|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
为什么字符串不需要取值运算符(*),而整形却需要取值运算符(*)呢?
- #include <stdio.h>
- int main()
- {
- int a = 1;
- int b = 2;
- int c = 3;
- int *p1[3] = {
- &a,
- &b,
- &c
- };
- int i;
- for(i = 0; i < 3; i++)
- {
- printf("%d\n",*p1[i]);
- }
- return 0;
- }
复制代码
_______________________________
- #include <stdio.h>
- int main()
- {
- char *p1[5] = {
- "让编程改变世界 -- 鱼C工作室",
- "Just do it -- NIKE",
- "一切皆有可能 -- 李宁",
- "永不止步 -- 安踏",
- "One more thing... -- 苹果"
- };
- int i;
- for (i = 0; i < 5; i++)
- {
- printf("%s\n", p1[i]);
- }
- return 0;
- }
复制代码
这个怎么说呢,printf %s的时候就让你传指针就行了,不需要你传指针对应的值呀,而printf %d,它要求是传值呀,虽然你printf("%d\n",*p1[i]);它能出数据,但你printf("%d\n",p1[i]);一样也能出数据呀,只不过这个不是你想要的呀
|
|