1. 程式人生 > >在C語言中怎樣定義一個字串並輸入輸出

在C語言中怎樣定義一個字串並輸入輸出

在C語言中沒有字串型別,用字元陣列處理字串

字元陣列定義:char 陣列名 [常量表達式][常量表達式]

說明:一維字元陣列,用於儲存和處理一個字串 。二維字元陣列,用於同時儲存和處理多個字串

輸入輸出方法:逐個字元輸入輸出:%c    整個字串輸入輸出:%s

一  :用scanf輸入字串,printf輸出字串

   逐個字元處理:

#include<stdio.h>
int main()
{
	char ch[5]; 
	for (int i = 0; i < 5; i++)
	{
		scanf("%c", &ch[i]);
	}
	for (int i = 0; i < 5; i++)
	{
		printf("%c", ch[i]);
	}
	system("pause");
	return 0;

  整個字串處理:

#include<stdio.h>
int main()
{
	char ch[5];
	scanf("%s", ch);
	printf("%s", ch);//無需&
	system("pause");
	return 0;
}

說明:以字串為單位處理時,直接使用陣列名,無需&

           輸入字串時,字元個數要小於陣列的長度,例如輸入5個字元,定義的字元陣列至少應該有6個元素

           輸入字串時,遇到回車或空格,輸入結束,並且自動在串後面加上結束標誌'\0'

           輸出字串時,遇到字串結束標誌’\0',輸出結束。

二  : 用字串處理函式輸入和輸出       在<string.h>標頭檔案中

    字串輸出函式puts

格式:puts(字元陣列)

功能:向顯示器輸出字串(輸出完,自動換行,即用'\n'替'\0')

說明:字元陣列必須以'\0'結束

    字串輸入函式gets

格式:gets(字元陣列)

功能:從鍵盤鍵入以回車結束的字串放入字元陣列中,並自動加’\0'

說明:輸入串長度應小於字元陣列維數,字串中可以包含空格

#include<string.h>
int main()
{
	char str[10];
	printf("請輸入字串");
	gets(str);
	printf("請輸出字串");
	puts(str);
	system("pause");
	return 0;
}

相關推薦

C語言怎樣定義一個字串輸入輸出

在C語言中沒有字串型別,用字元陣列處理字串 字元陣列定義:char 陣列名 [常量表達式][常量表達式] 說明:一維字元陣列,用於儲存和處理一個字串 。二維字元陣列,用於同時儲存和處理多個字串 輸入輸出方法:逐個字元輸入輸出:%c    整個字串輸入輸出:%s 一  :用s

c語言判斷一個字串是否包含另一個字串

1. 使用庫函式 string.h  strstr函式  函式名: strstr  功 能: 在串中查詢指定字串的第一次出現  用 法: char *strstr(char *str1, char

C語言:編寫一個程式統計輸入字串,各個數字、空白字元、以及其他所有字元出現的次數。

#include<stdio.h> int main() {      int c = 0;      int num_count = 0;      int emp_count = 0;      int els_count = 0;            w

C語言】統計一個字串字母、數字、空格及其它字元的數量

統計一個字串中字母、數字、空格及其它字元的數量 解法1: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> void Count(con

C語言實現 從一個字串提取一個子字串

例如: 編寫一個函式,它從一個字串中提取一個子字串。函式原型如下: int substr(char dst[], char src[],int start, int len) {} 目標是:從src陣列起始位置向後偏移start個字元的位置開始,最多複製len個非NULL字

C語言定義一個函式,實現對字串做如下操作:當字元為字母時,大小寫互換,當字元為數字時,原樣輸出,當有其它字元出現時,結束操作,返回已處理的字串

Action(){       char str[]={"tEst234%^road"};int len = sizeof(str)/sizeof(char);//strTest2呼叫函式lr_output_message("%s",strTest2(str,len)); r

C語言一個*和[]優先級問題

pre 執行 return ges spa 技術 分享 malloc bsp 最近寫著玩了這麽一段代碼 1 int Init(int **T, int v1, int v2, int v3) 2 { 3 4 if (!(*T=(int*) malloc(3*

C語言實現求一個字串的最長迴文字串 動態規劃

求解思路: 迴文字串的子串也是迴文,比如P[i,j](表示以i開始以j結束的子串)是迴文字串, 那麼P[i+1,j-1]也是迴文字串。這樣最長迴文子串就能分解成一系列子問題了。 這樣需要額外的空間O(

c語言實現遍歷字串分割成陣列

遍歷字串 int sepcharbydh(char *in, char caOut[200][256]) { char *p, *p2; long lCount; long m = 0; lCount = 0; if

C語言】判斷一個字串是否為迴文字串

判斷一個字串是否為迴文字串。 #include <stdio.h> int main(void) { char a[100]; int i = 0, j = 0; printf("Plea

C語言定義常量的兩種方式

我們在用C程式設計時有時需要定義不變的變數,即常量,有兩種方法。舉例說明。 定義常量PI的兩種方式: 1. #define Pi 3.1415926f; 2. const float pi 3.1415926f; 區別: 第一種方式:是將Pi定義成一種符號,此時Pi只是3.1415926的別名,在編譯期間用

c語言程式判斷一個字串是否是迴文

#include<stdio.h>#include<string.h>int main(){    char a[100];    int i,j;    gets(a);   

C語言得到一個float值在記憶體的16進製表示

float佔據4個位元組32位,1位為符號位,8位指數位,23位尾數位。 例 將72.65f轉為為16進製表示 第一步:將浮點數轉換為二進位制顯示 將72.65f轉換為二進位制顯示形式為 100 1000. 101 0011 0011 0011... 整數部分轉換方法為

c語言定義變數的幾個關鍵字

1.auto (1)auto關鍵字在C語言中只有一個作用,那就是修飾區域性變數。 (2)auto修飾區域性變數,表示這個區域性變數是自動區域性變數,自動區域性變數分配在棧上。(既然在棧上,說明它如果不初始化那麼值就是隨機的······) (3)平時定義區域性變數時就是定義的a

c語言的格式化字串

C語言中格式字串的一般形式為: %[標誌][輸出最小寬度][.精度][長度]型別, 其中方括號[]中的項為可選項。 一、型別 我們用一定的字元用以表示輸出資料的型別,其格式符和意義下表所示: 字元                                    意義

C語言如何解決:連續輸入一串資料到陣列,用空格隔開並用回車結束

C語言中getchar()函式的運用及注意事項 getchar()函式的運用 getcahr()函式是專門用於輸入字元常量的函式,它沒有引數,函式從鍵盤緩衝區裡面取出一個字元。 int *a; in

C語言常用的字串操作(子串分割、替換、去前後空格、遞迴實現字串反轉)

在C語言中,並沒有像java中對字串操作的封裝好的函式,在C語言中,都需要自己根據C語言函式庫來實現常用的字串操作 一、字串的分割,根據子串進行分割 #include<stdio.h>

C語言如何檢查一個字串是否全數字?

正如題目所問?在C語言中如何判斷一個字串是否是全數字的? 先貼出一段程式碼 /** * @brief Function isdigitstr() 判斷傳入字串是否全數字 * @param[in] char *str 字串 * @retval 1

java如何在檔案讀取一個字串建立以這個字元為名字的類的物件

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">我們一般用properties或者XML檔案作為資源儲存的檔案,現在主

c語言:寫一個函式,輸入n,求斐波拉契數列的第n項(5種方法,層層優化)

寫一個函式,輸入n,求斐波拉契數列的第n項。斐波拉契數列:1,1,2,3,5,8...,當n大於等於3時,後一項為前面兩項之和。解:方法1:從斐波拉契數列的函式定義角度程式設計#include<stdio.h>int fibonacci(int n){int nu