P41
int MyItoa(char s[])
将s中以字符串形式存放的非负整数,转换成相应整数返回。
#include<stdio.h> int MyItoa(char cStr[]){ int i,sum; for(i=sum=0; cStr[i]!='\0'; i++){ sum = cStr[i]-'0' + sum * 10; } return sum; } int main(){ char szNumber[] = "56421"; printf("%d\n",MyItoa(szNumber)); }
二维数组与指针
#include<stdio.h>
//col 列,row 行,array[col][row]
void printArray(int** array, int col, int row){
int i,j;
for(i=0; i<col; i++){
for(j=0; j<row; j++){
printf("%d ", *(array+i)+j );
}
printf("\n");
}
}
int main(){
int array[2][3] = {
1,2,3,4,5,6
};
printArray((int**)array,2,3);
}
#include<stdio.h>
#include<string.h>
char result[101];
// step: positive--right move, negative--left move
char* moveReplace(char* s, int step){
int i;
for(i=0; i<strlen(s); i++){
if(*(s+i)+step > 'Z'){
result[i] = 'A' + (*(s+i) + step - 'Z' - 1);
}else if(*(s+i)+step < 'A'){
result[i] = 'Z' + (*(s+i) - 'A' + step + 1);
}else{
result[i] = *(s+i) + step;
}
}
result[i] = '\0';
return result;
}
int main(){
char s[10] = "ABCXYZ";
printf("%s\n",moveReplace(s,-2));
}