c語言中%s和%d的區別


 1 /*************************************************************************
 2     > File Name: ptr_both.c
 3     > Author: Mr.Yang
 4     > Purpose:思考指針指向字符串和指向整型的區別 
 5     > Created Time: 2017年06月03日 星期六 17時37分17秒
 6  ************************************************************************/
 7 
 8 #include <stdio.h>
 9 #include <stdlib.h>
10 #include <string.h>
11 
12 int main(void)
13 {
14         /*指針指向字符串演示*/
15         char *s1 = "hello";
16         char *p1 = strchr(s1,'l');//返回首次出現該字符串的地址
17         printf("%s\n",p1);//%s它要求參數是一個指針!!!   puts函數也要求它的參數是一個指針,而不能是數值!!!
18 
19         /*指針指向整型演示*/
20         int s2[] = {1,2,3,4};
21         int *p2 = s2;
22         printf("%d\n",*p2);//%d它要求參數是一個值!!!
23 
24         return 0;
25 }

這也就解釋了為什么printf同要輸出值,字符串和整型需要不同類型參數!!!

 

怎么從c語言的核心理解這兩個區別,也就是怎么從字符串、整形的存儲原理來理解???


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM