首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C++ 入門常見語法疑問:string 輸入、switch、數組下標、printf 逐個擊破

     編輯:程式設計疑難解答

問題 1:cin >> m 能否改 scanf?

可以但不推薦。string 無固定緩衝區,需預先 m.resize(100); scanf("%s", &m[0]);,且不安全。C++ 首選 cin / getline。

問題 2:a = m.length() 含義

將 string m 的**當前字符長度**賦給 int a。

問題 3:switch(m[i]) 用法

遍歷字符串每個字符,按字符值分支處理(如統計元音/辅音)。

問題 4/5:m[i-1] / m[i+1]

  • m[i-1]:第 i 個字符(下標從 0 起,i 從 1 開始)。
  • m[i+1]:第 i+2 個字符。
  • ⚠️ 邊界檢查:i > 0 / i+1 < m.length(),否則越界 UB。

問題 6:printf("%c", m[i])

輸出單個字符,%c 對應 char,m[i] 正是 char 類型,完全合法。

避坑錦囊

  • 遍歷字符串統一用 for (char ch : m) (C++11) 或 for (size_t i=0; i。
  • 拒絕 scanf 處理 string,擁抱 iostream 類型安全。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved