❶ 如何在Linux中用C語言創建一個字元串(0x01 0x02 0x03……0x50)
首先,0x50比50大,其次你程序定義的兩個指針無法存放字元串,只能用來指向一個已經存在的字元串。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() { char data[0x50+1]={0}; int i;
for ( i=0;i<0x50;i++ ) data[i]=i+1;
data[i]=0;
printf("%s\n",data);
return 0;
}
❷ Linux中c語言中漢字字元串的輸出
1、計算機用兩個位元組來表示一個漢字,「我」在內存里就是這樣存放的:CE
D2。CE是str[0]的內容,D2是str[1]的內容。第一次循環輸出str[0],但是這個字元在ASCII字元集里代表這樣一個東西(不知道在這兒能不能正常顯示),但是Windows的命令提示符程序讀取到這里就會自動使用寬字元集,也就是說,它已經准備好讀取下一個字元,然後把他們當成一個字元顯示出來。於是就出現了那個漢字。
2、常式:
#include <stdio.h>
int main()
{
printf("%c%c",(char)0xce,(char)0xd2);
}
❸ LINUX shell 遇到的問題。 我想計算1+2+3+4.到100
這里
i
是當做計數器用的,每次循環遞增1。r
是當做累加器用的,將
i
的值進行累加。
這里沒有用for循環,而是用的while循環,其實是一樣的,而且while循環更為通用(sh不支持for循環)。
循環的次數也是有定義的,while
[
"$i"
!=
"100"
]這句就是定義,只要
i
沒遞增到100,就會一直循環。其實這句從語義上來說是不對的,這里是整數的比較而不是字元串的比較,所以比較符應該用-ne而不要用!=,即,應該寫成
while
[
$i
-ne
100
]
下面是個更為簡單的實現,你可以體會一下(shell中的變數其實不需要初始化,自有其默認值)。
#!/bin/bash
for
i
in
{1..100}
do
r=$((r+i))
done
echo
$r