1.scanf()函數由於不安全因此如今一般替換爲scanf_s()。(由於scanf無論所定義的數組的長度 只要是輸入都會容納 因此不安全)
2.若輸入字符超過定義範圍須要適當調整。
3.若出現:
錯誤 1 error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. c:\users\lenovo\documents\visual studio 2013\projects\first.c\first.c\xzc.c 5 1 first.c
須要在#include前加#define _CRT_SECURE_NO_WARNINGS 1數組
#include <stdio.h>安全
int main(){
int a;
char arr[5];
scanf_s("%d", &a);//此時須要加&(取地址符)
printf("%d", a);
scanf_s("%s", arr);//此時不須要加&由於是數組
printf("%s\n", arr);
return 0;
}ide
#include <stdio.h>函數
int main(){
3;//字面常量 (1)
const int num=4;//常屬性(不可改變) (2)
int n = 10;
int a[n]={0};//這樣不行而int a[10]={0};才能夠若const int n=10;也是不能夠的 const int n;此時n仍是變量可是具備常屬性(3)
return 0;
}
#include <stdio.h>
#define MAX 10 //define定義的標識符常量 (4)
int main(){
int a[MAX]={0};//此時能夠運行即MAX爲純純常量
return 0;
}
枚舉常量 ----enum(枚舉關鍵字) (5)
表現形式:
enum Sex
{
MALE, //默認爲0
FEMALE, 1
SECRET 2
};
//三個爲枚舉常量
使用:
enum Sex s = MALE;//定義s爲MALE
int main(){
printf("%d", MALE); //結果爲0
s = FEMALE; //數值能夠更改但必須是枚舉常量
return 0;
}字符串
存入:
char arr[]="abc";
區分:
char arr[]="abc";//此時arr[]存放有四個元素分別是a b c 和 0
輸出:abc
char ar[] = {'a', 'b', 'c'};//此時ar[]存放只有三個a b c
輸出:abc燙燙燙燙亂碼
char ar[] = {'a', 'b', 'c', 0或'\0'};//此時輸出爲abc
總結:
\0爲字符串輸出的結束標誌且\0的值爲0
char arr[] = "abc\0";//此時輸出結果爲abc
char arr[] = "ab\0c";//此時爲abstring
用法:
strlen(arr);//顯示字符串長度
注意:
使用前須要導入#include <string.h>
char arr[] = "avc";
char ar[] = {'a','d','w','s'};
printf("%d\n", strlen(arr));
printf("%d\n", strlen(ar));
\0不算字符串長度只是一個結束字符it
\
即+字母所得結果不是字母本意了轉變了原本的意思
例如:
\n \t......
printf("c:\text\xzc\xzc.c");//此時輸出爲亂碼
而
printf("c:\text\xzc\xzc.c");//此時就爲正常路徑了 \轉義了\即 \爲單個\的意思不與別人構成轉義字符
一個轉義字符\n的長度爲1即printf("%d\n", strlen("abc\nc"));輸出結果爲5
總結:
一個字符串長度爲出去\的全部字母或數字(\32爲1個長度並非\3和2兩個)或標點的個數之和
\123爲123的八進制
\x61爲61的十六進制io