c語言字元串結束符
⑴ c語言中字元串數組的結束符號
沒有str[3]
否則越界了
至於 s[0]='a', s[1]='b', s2='c', s3='\0',
\0是系統自動給你加的 你不用考慮
⑵ C語言如何將字元串結束符'\0'一起列印出來
結束符本身沒有,如果想打出來可以故意多輸出一個
#include<stdio.h>
intmain()
{
chars[]={"abc"};
printf("%s\0 ",s);
return0;
}
⑶ C語言中輸入一個字元串已@為結束符
#include<stdio.h>
void main()
{ int i;
char a[100];
for(i=0;i<100;i++)
{
if(getchar()!='@'
a[i]=getchar();
else break;
}
}
⑷ linux 中c語言字元串的結束符是什麼
c語言的字元串是一復種標制准
不管是在何種操作系統下它的定義都是一樣的
而c語言字元串的結束符是數字0
可以通過一個簡單的程序來觀看
#include<stdio.h>
intmain(intargc,char**argv)
{
chars[]="hello";
inti;
for(i=0;i<sizeof(s);++i)
printf("s[%d]=%d ",i,s[i]);
return0;
}
輸出的結果為
s[0] = 104
s[1] = 101
s[2] = 108
s[3] = 108
s[4] = 111
s[5] = 0
可以看出結束符正是數字0
⑸ 關於C語言字元串的初始化和結束符
定義一個字元數組a[10]
讀取字元串可以用gets()
函數
如果你輸入
abc
打回車
那麼就會存儲
'a''b''c''\0'
回車符\n會自動轉換成\0
那麼字元串的長度是4
有效長度是3
⑹ c語言字元串結束符問題
sprintf 與 printf 類似,只不過輸出到字元串變數。
char tstr[100];
sprintf(time, "%s.%d", tstr, tms.tv_usec/1000);
如果你這說明了%s,如果你賦值的時候沒有顯示的給他『\0',或者它只是一個字元數組,不是字元串,沒有關系,在運行sprintf()函數的時候只要你tstr還有空間,就會在尾部加上了』0『;輸出到time中例如下面的程序。
#include <stdio.h>
int main()
{
char data[6]={'a','b','c','d','e'};
char c;
char time[10];
sprintf(time,"%s",data);
printf("%s",time);
return 0;
}
但是如果你的數組長度不夠例如下面
#include <stdio.h>
int main()
{
char data[5]={'a','b','c','d','e'};
char c;
char time[10];
sprintf(time,"%s",data);
printf("%s",time);
return 0;
}
就會輸出time的時候會有些亂碼,因為你data[5]不夠長度後面加』0『。
有問題hi我
⑺ 有關c語言中字元串結束符的問題
定義一個字元數組a[10]
讀取字元串可以用gets() 函數
如果你輸入 abc 打回車
那麼就會存儲 'a''b''c''\0' 回車符\n會自動轉換成\0
那麼字元串的長度是4
有效長度是3
⑻ c語言中如何判斷一個字元串到結尾
字元串一般都以'\0'結束的,利用這個不就可以了
//………………
while(*p != '\0'){ }
//………………
⑼ C語言簡單字元串結束標志
'\0'
的ascii碼就是0,'0'的ascii碼是0x30,這就是區別。
printf函數自動識別'\0',遇到'\0'自動結束輸出,自己寫程序也可以,用一個char
*的指針指向字元串,讀取字元並把指針移到下一個字元,發現字元為'\0'結束操作。
⑽ c語言關於字元串終止符的問題
printf("item\0item\n");
在("item\0item\n")中的\0表示字元串結束;所以輸出是:item
printf("item%citem\n", c_0);
在"item%citem\n"中,c_0代表一個空回字元了,所以輸出是:item item
我沒有在答編譯器里驗證,但這樣分析出來,應該沒有什麼問題了吧!