1. 程式人生 > >scanf()函式實現輸入帶有空格的字串

scanf()函式實現輸入帶有空格的字串

我們用scanf()函式輸入一個帶空格的字串時,經常會在第一個空格時就停止輸入。

下面有兩種方法可以完整輸入字串

1)利用strcat()函式來實現帶空格字串的輸入,可以用字串追加函式strcat()來連線每個單詞。 

Strcat()一般格式:char*strcat(char*dest,const char*src);  

函式將字串src連線到dest的尾端,並返回字串dest的首指標。 

 #include “stdio.h” 

#include “string.h” 

#include “conio.h” 

void main() 

 char *str,*s1,*s2; 

clrscr();                            / /清屏
scanf(“%s”,str);               //輸入字串 
scanf(“%s”,s1);              //此後兩個輸入語句不需要使用者進行輸入

 scanf(“%s”,s2);     
strcat(str,“”);     //連線一個空格 

strcat(str,s1);     //連線單詞 

strcat(str,””);     //連線一個空格

strcat(str,s2);     //連線字串
printf(“\n%s”,str);    //輸出字串str 

}   

2)利用格式符“%[]”它的作用為掃描字元集合。 

Scanf(“%[^c]”,str); 
其中“c”是一個具體的字元常量(包括控制字元)。

C語言中scanf()函式提供的“%[]”格式串可以用來進行多個字元的輸入,並對結束符進行自定義。 對於%[]還可以用^+任意字元(包括 eof)來結束字串的輸入,如%[^EOF]就是直到有EOF 輸入,字串才中止。

#include”stdio.h” 

#include “conio.h” 

void main() 


char *str;

 clrscr(); 
scanf(“%[^\n]”,str);  //以換行符作為字串輸入的結束

printf(“\n%s”,str); 

相關推薦

scanf()函式實現輸入帶有空格字串

我們用scanf()函式輸入一個帶空格的字串時,經常會在第一個空格時就停止輸入。 下面有兩種方法可以完整輸入字串 1)利用strcat()函式來實現帶空格字串的輸入,可以用字串追加函式strcat()來連線每個單詞。  Strcat()一般格式:char*strcat(char*dest,const cha

關於C語言中用scanf語句輸入帶有空格字串問題

比如輸入I am your friend,然後倒序輸出:輸入語句scanf("%[^\n]",x.a);  C語言中scanf()函式提供的“%[]”格式串可以用來進行多個字元的輸入,並對結束符進行自定

scanf函式輸入

是不是也有人和我一樣,有時候輸入達不到自己預想結果呢? 又很難找到自己的錯誤,覺得輸入的格式是對的,但是儲存卻不再在自己預想的位置。 下面來講一下我關於字元和數字輸入的順序和方式的認識。 首先我們來看第一個程式碼 #include<stdio.h> #include<s

Python初識函式、閏年判斷函式,水仙花數、學生資訊管理系統、函式實現輸入某年某月某日,判斷這一天是這一年的第幾天

練習題1初識函式要求:1、函式是什麼? 為什麼要使用函式?答:如果在開發程式時,需要某塊程式碼多次,但是為了提高編寫的效率以及程式碼的重用,所以把具有獨立功能的程式碼塊組織為一個小模組,這就是函式為了程式碼重用性2、定義、呼叫函式的格式分別是什麼?答:定義函式:def 函式名

Oracle 函式實現動態解析公式字串

在工作當中,需要利用函式實現動態解析公式字串的功能。由於時間有限,以及業務需求,目前不支援一個計算公式中同時出現兩個小括號疊加出現的情況。如a+(b+(c-d))這種情況,但對於類似a+b*(c+d)/e-f*(g-h) 的情況是可以處理的。程式碼如下:  需要注意的是,對

【每天演算法4】編寫一個擷取字串函式輸入為一個字串和位元組數,輸出為按位元組擷取的字串

題目: 編寫一個擷取字串的函式,輸入為一個字串和位元組數,輸出為按位元組擷取的字串。   但是要保證漢字不被截半個,如“我ABC”4,應該截為“我AB”,輸入“我ABC漢DEF”,6,應該輸出為“我ABC”而不是“我ABC+漢的半個”。 package com.sw.su

關於對字串、陣列處理的常見問題與方法,如獲取帶有空格字串長度,陣列長度等。getline(),sprintf()使用。

最近在刷題,遇到對字串處理的題目,真是有點頭疼。我先介紹幾個對字串操作非常實用的方法吧。 1.字串連線函式strcat(string catenate縮寫),函式原型為 strcat(char[ ], const char[ ]) #include <

編寫一個擷取字串函式輸入為一個字串和位元組數, 輸出為按位元組擷取的字串。 但是要保證漢字不被截半個。

題目: 編寫一個擷取字串的函式,輸入為一個字串和位元組數, 輸出為按位元組擷取的字串。 但是要保證漢字不被截半個,如“我ABC”4, 應該截為“我AB”,輸入“我ABC漢DEF”,6, 應該輸

string不能輸入空格,如何輸入空格字串

第一種方法: char t[50]; cout<<"input a string:"<<endl; gets(t); for(i=0;t[i]!='\0';) 方法第二種:string str; char c; cout<<"

如何在scanf輸入空格字串

寫聊天室時,想輸入帶有空格的字串(個性簽名) C語言中scanf()函式提供的“%[]”格式串可以用來進行多個字元的輸入,並對結束符進行自定義。 對於%[]還可以用^+任意字元(包括 eof)來結束字串的輸入,如%[^EOF]就是直到有EOF 輸入,字串才中止。參考程式碼:

c++寫一個函式實現輸入一個字串,將其中的字元按逆序輸出

#include "stdafx.h" #include <iostream> #include <string.h> using namespace std; #define N 20 int _tmain(int argc, _TCHAR* argv[]) {

用一個函式實現將一行字串中最短的單詞輸出。此行字串從主函式傳遞給該函式。假設字串中包含的單詞以空格作為分隔符號,例如”Asia Games 2010 is held in GuangZhou.”,其中最短的單詞是”is”和”in”。

山大 23:57:13 /* 輸入完單詞後不用再加空格!如果是兩個單詞一樣短還不能實現*/ #include<stdio.h>#include<string.h>void main(){int f(char str[],char str1[],int

關於c語言scanf函式中格式化輸入中加入空格的一個問題

考慮如下一小段程式: #include<stdio.h> int main() { int i = 0; int num[5]; for(i = 0;i <

有n個整數,使前面各數順序向後移m個位置,最後m個數變成前面m個數。寫一函式實現以上功能,在主函式輸入n個數和輸出調整後的n個數。

import java.util.Scanner; public class Main {     public static void main(String[] args){         Scanner sc = new Scann

JS用函式實現輸入年,月,日,獲取這個日期是這一年的第多少天

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> </head> <body>

實現輸入回顯*號的函式

/*在使用者輸入密碼的時候,往往都是回顯*或者其他的隱藏字元,於是:*/#define MAXLEN 6char passwd[MAXLEN+1]="";char *GetPasswd() { unsigned char c; int i=0; while((c=getch())!='\r')

使用 內建函式strtok()函式實現 loadrunner 字串替換

Action(){ /* loadrunner 字串替換 */ char separators[] = "/"; char * token; char * file_path; char * file_path_record; int len_file_path = 0; extern cha

c語言 用scanf函式輸入資料,舉例並分析錯誤原因

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

將n個數按輸入時順序的逆序排列,用函式實現(指標)

#include <stdio.h> void reverse(int a[],int n) { int *p;   for(p=a+n-1;p>=a;p--)        &nb

c++字串查詢函式實現

int find(const char*str,const char*sub_str) { //這裡就沒有判斷指標是否是NULL了 //保留起始地址以計算位置 const char *temp_str = str; //預設返回結果 int ret = -