在c语言中,要怎么定义以0开头输入的数字串的数据类型,变量定义,书写方式?如0123456,c语言初学者求问~

不是要八进制的,能让他包含数字8、9的。。。如输入0123456789,怎么把它赋值给一个变量??

0开头输入的数字 是 8进制正整数。
输入输出格式用%o
变量定义为长整型或整型,考虑数值范围
8进制数,数字可以是 1,2,3,4,5,6,7,0,没有8,9。

#include <stdio.h>
#include <stdlib.h>
void main()
{
long int i,j,k; // 变量定义为长整型或整型
printf("Enter data in O -- for example 077 \n");
scanf("%o",&i); // 8进制方式读入 i
k = i + 1; // k 比 i 大 1
printf("%o\n",k); // 打印k的8进制值
printf("%d %d",i,k); // 打印i,k的十进制值
exit(0);
}

输入i: 077 (或77)
打印k的8进制值: 100
打印i,k的十进制值: 63 64

输入i: 0123456 (或123456)
打印k的8进制值: 123457
打印i,k的十进制值: 42798 42799
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-10-12
使用字符数组。
在其他语言里就是string 类型。

请输入字符数组 或 string.h
查相关资料

自己查资料动手比别人告诉你书写方式对于初学者更重要。不要怕报错。本回答被提问者采纳

几道简单的C语言题目
C: int a[1 to 5]; D: int a[]【D】16.以下字符串定义与赋值中,正确的是:A: char s[80]; s = {'A', 'B', 'C'}; B: char s[80]; s = "ABC";C; char s[80] = {"A", "B", "C"}; D: char s[80] = "ABC";【B】17. 在字符串常用函数...

相似回答