对称整数的实例:
#include <stdio.h>
int main()
{
int num, temp, sum=0, N;
printf("输入一个数: ");
scanf("%d",&num);
N = num;
/*对称整数倒排序与原数相等
*/
while(num > 0)
{
temp = num % 10; /*取最后一位*/
printf( "____%d____", sum );
sum = sum * 10 + temp; /*低位与高位互换位置*/
num /= 10; /*移除最后一位*/
}
if(N == sum)
printf("是对称整数\n");
else
printf("不是对称整数\n");
}
打印三角形1:
#include <stdio.h>
#include <cstdlib>
int main()
{
int num = 0, temp = 0, temp2 = 0;
printf("输入一个数 : ");
scanf("%d", &num);
temp2 = temp = num%2 == 0 ? num/2 : int(num/2)+1;
for(int i=0; i<num; i++) {
if(i<temp) {
int line = i;
while( line!=0 ) {
printf("*");
line--;
}
}else{
int line = temp2;
while( line!=0 ) {
printf("*");
line--;
}
temp2--;
}
printf("\n");
}
}
打印三角形2:
#include <stdio.h>
int main()
{
int num,line;
int i,temp;
printf("输入一个数:");
scanf("%d",&num);
for(i = 1; i <= num; i++)
{
line = i;
while(line--)
printf("*");
printf("\n");
}
for(i = num; i > 0; i--)
{
line = i;
while(line--)
printf("*");
printf("\n");
}
}
用户的输入字符串修改为大写:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
char str[20];
char* p;
printf("input chars: ");
scanf("%s",str);
for(p = str; *p!='\0'; p++) {
//for(p = str; *p!="\0"; p++) { 注意单引号和双引号的意思是不一样的 , 单引号是单字, 双引号代表了多了字符串
printf("%c", toupper(*p));
}
}
把字符串转化为数字:
#include <stdio.h>
#include <stdlib.h>
int main() {
char str[] = "111";
int c = atoi(str);
printf("%d", c);
return 0;
}
使用malloc申请内存 , 并修改内存中的数据 :
#include <stdio.h>
#include <stdlib.h>
#define SIZE 10
int main() {
int sum = 0;
int* p = (int*) malloc(SIZE*10);
for(int i=0; i<10; i++) {
*p = i;
printf("%d",*p);
*p = *p+1;
}
}
指针练习:
数字指针 :
#include <stdio.h>
#include <stdlib.h>
void run(char *p) {
*(p + 2) = '_'; /*错误右边指向的是常量*/
printf("%s\n",p);
//printf的使用上, 如果输出的是数字, 对应的指针要加*, 如果是字符串就不用了;
int* pp;
int val = 10;
pp = &val;
printf("%d", *pp);
}
int main()
{
char ptr[] = "I Love hehe!";
run(ptr);
return 0;
}
字符串指针, 字符串的复制 :
#include <stdio.h>
#include <stdlib.h>
void copy ( char *dest, char *str2 ) {
printf("%s\n", dest);
printf("%s\n", str2);
while(*str2) {
*dest=*str2;
dest++;
str2++;
};
}
int main()
{
char str[] = "hehe";
char str2[] = "result";
copy(str, str2);
printf("result : %s\n",str);
return 0 ;
}
#include <stdio.h>
#include <stdlib.h>
void copy ( int *dest, int *num2 ) {
*dest = *num2;
}
int main()
{
int num = 1111;
int num2 = 2222;
//如果是数字,要手动添加&, 让参数变成指针, 而字符串不需要添加&;
copy(&num, &num2);
printf("result : %d\n",num);
return 0 ;
}
函数指针 :
#include <stdio.h>
#include <stdlib.h>
void fn(int);
int main() {
int x = 10;
fn(x);
void (*p)(int);
p = &fn;
p(x);
return 1;
}
void fn(int x) {
printf("outpub number : %x \n",x);
}
天道酬勤