編譯程序輸入字元串
A. 編寫一程序,用鍵盤輸入字元串:
#include
<stdio.h>
void
main()
{
char
str[5];
scanf("%s",str);
printf("Hello,%s\n",str);
}
c語言中沒有專門的字元串變數,如果想將一個字元串存放在變數中以便保存,必須使用字元數組。
B. c語言編程序,輸入字元串的有效長度,並輸出該字元串
int
i=0,*j;
定義了一個整型指針變數j,j++會跳過一個整型數據空間(4)
如:輸入數據為:abcdefg
j=a;
此時j指向a所在的地址
j++;
j跳過四個位元組,j指向e所在地址,因此,你的統計會不準確。
之所以輸出21,只能說,你的程序運行中,掃描內存中的數據是以\0結尾的,而只有找到21*4的位置才發現\0,這是運行時的情況,不是必然的。
修改成char
*j;就好了。這樣j++會跳過一個字元型數據空間(1),才能正確遍歷數組!
C. 在C語言中如何實現用鍵盤輸入一個字元串,並列印出來
在C語言中實現用鍵盤輸入一個字元串,並列印出來的解決方法如下:
1、首先定義一個字元串數組,如你可以給字元串100個數組空間。如圖括弧內數字即為你定義的數組大小。
(3)編譯程序輸入字元串擴展閱讀:
字元數組的輸出:
(1)用putchar()或printf()的『%c』格式符對數組進行字元賦值。例如,對於數組a[10]:用putchar()賦值:
for(i=0;i<10;i++)
a[i]=putchar();
用printf()賦值:
for(i=0;i<10;i++)
printf("%c",a[i]);
輸出結果為:
c program[2]
(2)用printf()的'%s'格式對數組賦值。還是對於數組a[10];
printf("%s",a);
輸出結果為:
c program
參考資料來源:
網路-char
網路-字元數組
D. 編寫程序,任意輸入一個字元串(字元數小於100),輸入一個字元,然後去掉字元串中的該字元
#include<stdio.h>
intmain(intargc,char*argv[]){
chars[101],i,j,k;
gets(s);
scanf("%c",&k);
j=i=0;
while(s[j++]=s[i++])
if(s[j-1]==k)
j--;
puts(s);
return0;
}
E. c語言中如何輸入輸出字元串
在<string.h>頭文件中用字元串處理函數輸入和輸出,gest用來輸入,puts用來輸出。
字元串輸入函數gets,從鍵盤鍵入以回車結束的字元串放入字元數組中,並自動加』 '。輸入串長度應小於字元數組維數,字元串中可以包含空格。
字元串輸出函數puts,向顯示器輸出字元串(輸出完,自動換行,即用' '替'